首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何设置success_url重定向回与UpdateView中引用的模型不同的模型?

在Django的UpdateView中,我们可以通过重写get_success_url()方法来设置success_url重定向回与UpdateView中引用的模型不同的模型。

首先,我们需要引入reverse函数和要重定向到的模型的DetailView视图。

代码语言:txt
复制
from django.urls import reverse
from django.views.generic import DetailView

接下来,在UpdateView的子类中,重写get_success_url()方法。我们可以根据需要获取引用的模型的实例,然后使用reverse()函数根据模型实例的属性生成重定向URL。最后,我们可以将URL作为返回值。

代码语言:txt
复制
class YourUpdateView(UpdateView):
    model = YourModel
    form_class = YourForm

    def get_success_url(self):
        # 获取引用的模型实例
        instance = self.object.your_foreign_key_field

        # 生成重定向URL
        success_url = reverse('your_detail_view', kwargs={'pk': instance.pk})
        return success_url

在上面的代码中,your_foreign_key_field是UpdateView引用模型中的外键字段。your_detail_view是与重定向模型关联的DetailView的名称。

请注意,上述代码中的YourModel是您使用的实际模型,YourForm是用于更新模型实例的表单。

这样,当在UpdateView中成功更新模型实例时,将重定向到与UpdateView中引用的模型不同的模型的详细视图。

推荐的腾讯云产品:腾讯云云服务器(CVM)和腾讯云数据库 MySQL。您可以在腾讯云官方网站了解更多关于这些产品的详细信息:

请注意,这些推荐的产品仅供参考,您可以根据具体需求选择适合的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django内置通用类视图CBV及示例

属性: form_class:要实例化Form类. success_url:表单成功处理后重定向URL. tamplate_name:字符串表示模板名称....属性: tamplate_name: form_class: fields:字段名称列表,其解释方式ModelFormMeta.fields相同.如果你是自动生成表单类,那么该属性不能省略. success_url...该视图用法CreateView基本相同,仅在BaseUpdateView对get()和post()内部实现有区别. 6.DeleteView ?...form.fieldname:直接将form作为一个dict,引用其每一个field,比如{{ form.title }} 引用formtitle这个field。...根据报错提示,我们可以直接在视图下给success_url参数赋值,或在模型中去定义get_absolute_url()方法,去设置成功后跳转url。

3.2K10

Django内置通用类视图及实例

属性: form_class:要实例化Form类. success_url:表单成功处理后重定向URL. tamplate_name:字符串表示模板名称....属性: tamplate_name: form_class: fields:字段名称列表,其解释方式ModelFormMeta.fields相同.如果你是自动生成表单类,那么该属性不能省略. success_url...该视图用法CreateView基本相同,仅在BaseUpdateView对get()和post()内部实现有区别. 6.DeleteView ?...form.fieldname:直接将form作为一个dict,引用其每一个field,比如{{ form.title }} 引用formtitle这个field。...根据报错提示,我们可以直接在视图下给success_url参数赋值,或在模型中去定义get_absolute_url()方法,去设置成功后跳转url。

2.9K40
  • 利用Django通用类视图(class

    框架好处就是,它已经为用户处理了绝大多数场景重复代码,提供了封装好接口,使得我们在开发十分方便。...ListView可以通过你给出model以及想要展示modelfield,在对应数据库查询出对应对象存放在List对象,并传递给template渲染。...如果你在Django设置settings.pyTEMPLATES下配置了'APP_DIRS': True 的话,Django默认会去渲染/project/app_name/templates/app_name...而在post请求发送过来时候,Django会根据model里field属性去做合法性校验(类型是否正确、字段是否必填等),在校验成功以后重定向success_url。...---- 剩下UpdateView以及DeleteViewCreateView实现也是相类似的原理。

    1.5K20

    教程 | 如何判断LSTM模型过拟合欠拟合

    也许你会得到一个不错模型技术得分,但了解模型是较好拟合,还是欠拟合/过拟合,以及模型不同配置条件下能否实现更好性能是非常重要。...在本教程,你将发现如何诊断 LSTM 模型在序列预测问题上拟合度。完成教程之后,你将了解: 如何收集 LSTM 模型训练历史并为其画图。 如何判别一个欠拟合、较好拟合和过拟合模型。...如何通过平均多次模型运行来开发更鲁棒诊断方法。 让我们开始吧。 教程概览 本教程可分为以下 6 个部分,分别是: 1. Keras 训练历史 2. 诊断图 3. 欠拟合实例 4....Keras 历史调 API(History Callback Keras API,https://keras.io/callbacks/#history) 维基百科关于机器学习学习曲线(Learning...具体而言,你学到了: 如何收集 LSTM 模型训练历史并为其画图。 如何判别一个欠拟合、良好拟合和过拟合模型如何通过平均多次模型运行来开发更鲁棒诊断方法。 ?

    9.6K100

    python-Django-URL 路由(二)

    我们定义了四个不同URL模式。...在这个示例,我们将这些视图函数定义在名为views.py文件:: from django.shortcuts import render, get_object_or_404, redirect...如果请求方法是POST,视图函数将获取用户提交文章标题和内容,并创建一个新Post对象,然后将用户重定向到新创建文章详细页面。...如果请求方法是POST,视图函数将获取用户提交文章标题和内容,并更新现有的Post对象,然后将用户重定向到更新后文章详细页面。...这个视图函数使用Django通用视图类CreateView来处理创建新文章表单,然后重定向到post_list视图函数,这个视图函数将渲染一个包含所有文章列表HTML模板。

    82120

    Django模板中使用消息message框架

    由django-admin startproject创建默认settings.py已经包含了启用消息功能所需所有设置: django.contrib.messages在INSTALLED_APPS...在模板设置定义DjangoTemplatescontext_processor选项包含django.contrib.messages.context_processors.messages。...配置消息引擎 存储后端 消息框架可以使用不同后端存储临时消息。...消息等级 消息框架基于类似于Python日志模块可配置级别体系结构。消息级别允许您按类型对消息进行分组,以便在视图和模板不同方式过滤或显示消息。...(message) storage.used = False 使用实例 创建消息分类显示模板 当消息类型不同时,显示不同样式,创建message-alert-content.html文件 {% if

    2.9K20

    基于django视频点播网站开发-step6-个人中心功能

    个人资料 这里主要是对个人资料进行编辑,先显示用户原有的信息,然后用户即可对其进行修改并保存,对于编辑功能,django有自己解决方案,即通过通用视图类UpdateView模型进行更改。...关于Update介绍,同学们可查阅官网介绍 因为前面已经建立过user模型,所以这里就不用再次建立了,我们直接使用之前user模型即可。...当更新成功后,django会调get_success_url来将结果告诉模板,因此我们可以在get_success_url里面做一些定制工作,我们可以传一些自己参数。...其中AuthorRequiredMixin代码位于videoproject/helpers.py。 修改密码 同样,修改密码也是属于更新操作。 模型当然是用user模型,不必再建。...'), 我们设置订阅视图类为SubscribeView,因为订阅功能和修改个人资料功能类似,也是属于更新操作,所以同样是使用UpdateView来更新。

    1.2K00

    彻底理清前端单页面应用(SPA)实现原理

    设置当前hash值 const hash = window.location.hash 获取当前hash值 hash改变会触发windowhashchange事件 window.onhashchange...,hash改变并不会发送请求 开始实现Hash模式跳转: 使用类似发布订阅模式方式,使用ES6class实现: 初始订阅,每个不同hash值,对应不同函数调用处理。...用来存放不同路由对应调函数 init 用来初始化路由,在 load 事件发生后刷新页面,并且绑定 hashchange 事件,当 hash 值改变时触发对应调函数 开始使用: <div id="...: history.pushState() 在保留现有历史记录<em>的</em>同时,将 url 加入到历史记录<em>中</em>。...History模式下,刷新页面会404,需要后端配合匹配一个任意路由,<em>重定向</em>到首页,特别是加上Nginx反向代理服务器<em>的</em>时候 我们需要换个思路,我们可以罗列出所有可能触发 history 改变<em>的</em>情况,并且将这些方式一一进行拦截

    3.1K41

    实验6 OpenGL模型视图变换

    理解掌握OpenGL三维图形几何变换方法。 理解掌握OpenGL程序模型视图变换。 掌握OpenGL三维图形显示观察原理实现。...(3)请分别调整观察变换矩阵、模型变换矩阵和投影变换矩阵参数,观察变换结果;   (4)掌握三维观察流程、观察坐标系的确定、世界坐标系观察坐标系之间转换、平行投影和透视投影特点,观察空间规范化观察空间概念...3.实验原理:   首先来简单了解计算机图形学四个主要变换概念:   (1)视图变换:也称观察变换,指从不同位置去观察模型;   (2)模型变换:设置模型位置和方向,通过移动、旋转或缩放变换,...由于投影变换,视口变换共同决定了场景是如何映射到计算机屏幕上,而且它们都与屏幕宽度、高度密切相关,因此应该放在reshape函数。...OpenGL可设置多种光源,包括环境光、漫反射光、镜面反射光,构建光照模型,来模拟现实光照。

    2K30

    djangoModelForm多表单组合解决方案

    这么多种选择放在一起,如何分出高下?我想此时场景下就两个标准: 1、相同功能用最少代码实现(代码少BUG也会少); 2、相对最易于理解,从而易于维护和扩展。...所以,基本表单功能看BaseForm已经足够了。 2、从模型创建表单 django对于MVCCM间映射是非常体贴,集中体现Model模型(比如模型权限用户认证)。...那么,一个模型代表着RDS一张表,模型实例代表着关系数据库一行,而form如何一行相对应呢?...3、通用视图 django.views.generic.ListView和django.views.generic.edit下CreateView, UpdateView, DeleteView都是通用视图...通用视图使用时,只需要承继后,再设置model或者form_class即可。

    3.4K20

    三十、MVC 模式

    MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式 MVC 模式用于应用程序分层开发 Model(模型) - 模型代表一个存取数据对象或 JAVA POJO...它也可以带有逻辑,在数据变化时更新控制器 View(视图) - 视图代表模型包含数据可视化 Controller(控制器) - 控制器作用于模型和视图上。...它使视图模型分离开 实现 1、 定义一个作为模型 Student 对象 2、 StudentView 是一个把学生详细信息输出到控制台视图类 3、 StudentController 是负责存储数据到...Student 对象控制器类,并相应地更新视图 StudentView 4、 最后类 MVCPatternDemo 使用 StudentController 来演示 MVC 模式用法 范例 1...(); //更新模型数据 controller.setStudentName("John"); controller.updateView(); }

    20810

    Java设计模式总汇二(小白也要飞)

    View(视图) - 视图代表模型包含数据可视化。 Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图模型分离开。...View显示出来,这才是Controller做事。...2:中介者设计模式 定义:中介者模式(Mediator Pattern)是用来降低多个对象和类之间通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间通信,并支持松耦合,使代码易于维护。...意图:用一个中介对象来封装一系列对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间交互。...主要解决:对象对象之间存在大量关联关系,这样势必会导致系统结构变得很复杂,同时若一个对象发生改变,我们也需要跟踪之相关联对象,同时做出相应处理。

    51890

    P1-Android基于MVP实现号码归属地查询

    3].相比视频课程,本案例按照我理解,对项目结构进行了优化。...封装类:详见:ListView封装 [7].Json解析详见:Json在Android使用--Gson 项目结构及类图 ?...手机归属地查询缓存.png ---- 一、M:模型层:负责数据请求、解析、过滤等数据层操作 [1].将网络加载数据逻辑放在模型层,提供数据给控制层。...[2].模型设置加载监听用来传递数据,及状态(利于控制层对视图层控制) 1.模型层接口--定义模型方法接口 /** * 作者:张风捷特烈 * 时间:2018/8/31 0031:...转载请注明 更多安卓技术欢迎访问:https://www.jianshu.com/c/004f3fe34c94 张风捷特烈个人网站,编程笔记请访问:http://www.toly1994.com 你喜欢支持将是我最大动力

    64820

    能不能手写Vue响应式?前端面试进阶

    为了方便 模拟视图更新,这里创建了一个函数 updateView ,当数据更新时,调用 updateView ,模拟进行了视图更新(在 Vue 中表现为 template 模板引用了该变量值 DOM...此处设置完成后,下次get能够获取最新设置值 // 这里有个小优化,若相同则不触发更新 if(newVal !...此处设置完成后,下次get能够获取最新设置值 if(newVal !...,如 data.id = { num: 101 }, 新增加 num 也将能够被监听到 observe(newVal) // value 一直在闭包,此处设置完成后,下次get能够获取最新设置值...很显然是不会,因为 Object.defineProperty 并不具备监听数组内部变化能力,那么我们该如何解决呢————重写数组原型上方法。

    60020

    拿到大厂前端offer前端开发是怎么回答面试题_2023-03-15

    ,由于强制缓存优先级较高,先比较当前时间上一次返回 200 时时间差,如果没有超过 cache-control 设置 max-age,则没有过期,并命中强缓存,直接从本地读取资源。...:localStorage基本类似,区别是sessionStorage当⻚⾯关闭后会被清理,⽽且cookie、localStorage不同,他不能在所有同源窗⼝中共享,是会话级别的储存⽅式;Web...IE 事件模型,在该事件模型,一次事件共有两个过程,事件处理阶段和事件冒泡阶段。事件处理阶段会首先执行目标元素绑定监听事件。...这种事件模型,事件绑定函数是addEventListener,其中第三个参数可以指定事件是否在捕获阶段执行。如何判断一个对象是否属于某个类?...(4)Poll(轮询阶段):当调队列不为空时:会执行调,若触发了相应微任务,这里微任务执行时机和其他地方有所不同,不会等到所有调执行完毕后才执行,而是针对每一个调执行完毕后,就执行相应微任务

    49420

    你问我答 | 实时音视频TRTC(2021年8月-10月)

    解决方案: 通话过程,保证双方通话画面正常; 直接调用stop,再调用start,会有一段时间黑屏; 直接调用updateView对调,会导致远端画面不显示,或者没有效果; updateView只支持...sdk可以将数据采集出来,画面渲染都是正常,只是画面被旋转了,说明采集数据没有问题,sdk有办法解码就有办法将画面旋转; 可以在通话过程,通过点击按钮触发这些旋转角度,旋转不同角度,能确保画面采集出来了才执行旋转.../MixedAllAudioFrame)分成 本地端 远端 混合端; 通过在调(listener)打印日志方式来检测音频是否被采集(发送方) 或 接收(接收方) 成功,音频通信双方均是发送方 &...由于sdk默认设置是“麦上通话,麦下媒体”,即主播上麦时使用通话音量,观众不上麦则使用媒体音量,所以有人上麦时候,从媒体切到通话,切时候会卡一下,然后媒体和通话音量大小不一致,所以声音不一致。...宽高计算 //分辨率码率根据业务需要设置,注意分辨率16字节对齐 uint32_t hight = (uint)(540 * screenSize.height / screenSize.width

    1.1K20
    领券