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

如何根据django模板中不同的提交按钮在更新视图中自定义成功url?

在Django中,可以使用不同的提交按钮来根据需要自定义成功的URL。以下是实现该功能的步骤:

  1. 首先,在你的Django模板中,给不同的提交按钮添加一个唯一的name属性值,并在表单中使用相同的form标识符。例如,给两个按钮分别设置name属性为"button1"和"button2":
代码语言:txt
复制
<form method="post" action="{% url 'update_view' %}">
    {% csrf_token %}
    <input type="submit" name="button1" value="按钮1">
    <input type="submit" name="button2" value="按钮2">
</form>
  1. 在你的视图函数中,通过request.POST字典检查哪个按钮被点击了,并在相应的条件下进行处理。可以通过检查按钮的name属性值来确定哪个按钮被点击了。
代码语言:txt
复制
from django.shortcuts import redirect

def update_view(request):
    if request.method == 'POST':
        if 'button1' in request.POST:
            # 处理按钮1的逻辑
            return redirect('success_url_1')  # 自定义成功URL1
        elif 'button2' in request.POST:
            # 处理按钮2的逻辑
            return redirect('success_url_2')  # 自定义成功URL2
    return render(request, 'update_template.html')
  1. 在urls.py文件中定义相应的URL模式,并将自定义的成功URL与视图函数关联起来。
代码语言:txt
复制
from django.urls import path

urlpatterns = [
    path('update/', update_view, name='update_view'),
    path('success-url1/', success_url_1_view, name='success_url_1'),
    path('success-url2/', success_url_2_view, name='success_url_2'),
]

在以上步骤中,按钮1的点击将会导致重定向到名为"success_url_1"的URL,而按钮2的点击将会重定向到名为"success_url_2"的URL。你可以在相应的视图函数中编写逻辑来处理这些自定义成功URL。

注意:这里没有提到具体的腾讯云产品和链接地址,你可以根据具体需求选择适合的腾讯云产品,例如对象存储COS、云服务器CVM、数据库TencentDB等。请参考腾讯云官方文档了解更多关于这些产品的信息。

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

相关·内容

django 1.8 官方文档翻译: 5-1-1 使用表单

另一个方面,GET 适合网页搜索这样表单,因为这种表示一个GET 请求URL 可以很容易地作为书签、分享和重新提交Django 表单角色 处理表单是一件很复杂事情。...Django 会处理表单工作三个显著不同部分: 准备并重新构造数据 为数据创建HTML 表单 接收并处理客户端提交表单和数据 可以手工编写代码来实现,但是Django 可以帮你完成所有这些工作。...实例化、处理和渲染表单 Django 渲染一个对象时,我们通常: 图中获得它(例如,从数据库获取) 将它传递给模板上下文 使用模板变量将它扩展为HTML 标记 模板渲染表单和渲染其它类型对象几乎一样...模型实例不包含数据情况下,模板对它做处理很少有什么用处。但是渲染一个未填充表单却非常有意义 —— 我们希望用户去填充它。 所以当我们图中处理模型实例时,我们一般从数据库获取它。...发送HTTP 重定向给浏览器告诉它下一步去向之前,我们可以用这个数据来更新数据库或者做其它处理。 模板 我们不需要在name.html 模板做很多工作。

4.2K20

第 14 篇:交流桥梁“评论功能”—— HelloDjango 系列教程

我们知道每一个 URL 对应着一个 django 视图函数,于是 django 调用这个视图函数,我们视图函数写上处理用户通过表单提交上来数据代码,比如验证数据合法性并且保存数据到数据库,...另外一种想法是使用自定义模板标签,我们 页面侧边栏:使用自定义模板标签[6] 详细介绍过如何自定义模板标签来渲染一个局部 HTML 页面,这里我们使用自定义模板标签方法,来渲染表单页面。...然后我们定义一个 inclusion_tag 类型模板标签,用于渲染评论表单,关于如何定义模板标签, 页面侧边栏:使用自定义模板标签[7] 已经有详细介绍,这里不再赘述。...具体过程代码已有详细注释,这里仅就视图中出现了一些新知识点进行讲解。...两个地方需要发送消息,第一个是当评论成功,即评论数据成功保存到数据库后,因此 comment 视图中加一句。

1.7K20
  • django 1.8 官方文档翻译: 1-2-4 编写你第一个Django应用,第4部分

    编写一个简单窗体 让我们把在上一篇教程编写 poll detail 模板更新下,模板包含 HTML 组件: {{ poll.question }} {% if error_message...: 上面的模板为每个投票选项设置了一个单选按钮。...此函数有助于避免图中硬编码 URL 功能。它指定了我们想要跳转视图函数名以及视图函数 URL 模式相应可变参数。... 现在,浏览器访问 /polls/1/ 并完成投票。每次投票后你将会看到结果页数据都有更新。 如果你没有选择投票选项就提交了,将会看到错误信息。...这些视图代表了基本 Web 开发中一种常见问题: 根据 URL 参数从数据库获取数据,加载模板并返回渲染后内容。

    1.5K10

    Django搭建blog网站(二)

    更好解决方案是直接在模板获取,为此,我们使用 Django 一个新技术:自定义模板标签来完成任务。...使用模板标签思路 我们前面已经接触过一些 Django 内置模板标签,比如比较简单 {% static %} 模板标签,这个标签帮助我们模板引入静态文件。...这里唯一不同是我们从数据库获取文章列表操作不是视图函数中进行,而是模板通过自定义 {% get_recent_posts %} 模板标签进行。...函数就这么简单,但目前它还只是一个纯 Python 函数,Django 模板还不知道该如何使用它。...包括如何编写模型(Model)、如何编写视图函数(View)、如何使用 Django 内置模板系统(Template)以及如何配置路由(URL),这四大模块是 Django 开发核心所在,现在我们已经能够基本掌握这些模块使用方法了

    4.5K100

    Django快速入门——投票程序(4,6)表单&界面、风格

    第4部分(表单) 编写一个简单表单 我们更新一下在上一个教程编写投票详细页面的模板 ("polls/detail.html") ,让它包含一个 HTML 元素(即表单) <form...这意味着,当有人选择一个单选按钮提交表单提交时,它将发送一个POST数据 choice=# ,其中#为选择ChoiceID。这是 HTML表单基本概念。...简而言之,所有针对内部URLPOST表单都应该使用 {% csrf_token %}模板标签。 现在,让我们来创建一个Django视图来处理提交数据。...URL(请继续看下去,我们将会解释如何构造这个例子URL)。...因为 AppDirectoriesFinder 存在,你可以 Django 以 polls/style.css 形式引用此文件,类似你引用模板路径方式。

    25220

    Django框架开发016期 数据更新,用户信息更新页面开发

    本节主要为朋友介绍通过djangoorm模式如何更新用户信息,你会发现使用django开发网站,在数据操作上变得更加简单! 本节教程属于《刘金玉Django网站开发课程》电子书第五章第六节。...这个url跳转过去页面需要我们自行创建。 第2步:创建url路由规则。 首先我们路由中增加一条新url路由规则,这里我们使用与以往不同路由规则,就是传参功能,应该如何写呢?...>,大家注意,这个就是Django框架url传递给视图函数参数一种方法。...当我们点击“编辑”页面上更新按钮后,当前更新数据会传递到表单对应数据更新保存路由,对应form标签action属性实际路由url是/saveuser/{{currentUser.userID...然后,我们点击“更新按钮,发现“更新成功页面,如下图所示。 我们点击“返回用户列表”页以后,观察更新数据是否生效,如下图所示。 我们发现数据更新生效成功

    10110

    Django-form表单

    Django 构建一个表单 Form 类 我们已经计划好了我们 HTML 表单应该呈现样子。Django ,我们起始点是这里: ?...这是我们第一个访问该URL 时预期发生情况。 如果表单提交使用POST 请求,那么视图将再次创建一个表单实例并使用请求数据填充它:form = NameForm(request.POST)。...发送HTTP 重定向给浏览器告诉它下一步去向之前,我们可以用这个数据来更新数据库或者做其它处理。 模板 我们不需要在name.html 模板做很多工作。最简单例子是: ?...注:Django 原生支持一个简单易用跨站请求伪造防护。当提交一个启用CSRF 防护POST 表单时,你必须使用上面例子csrf_token 模板标签。...字段数据 不管表单提交是什么数据,一旦通过调用is_valid() 成功验证(is_valid() 返回True),验证后表单数据将位于form.cleaned_data 字典

    3.9K70

    Python Django开发 经验技巧总结(一)

    -这个是django一个标签,用于防止恶意攻击使用,如果不加入这个标签,会遇到不能提交问题,处理麻烦一点,建议加上。...已经发生错误信息 该功能运用了django.contrib.messages这个库,django项目中setting.py文件APP注册部分自定义注册 INSTALLED_APPS = [...需要注意是,设置该参数为true时,并不简单地意味着字段默认值为当前时间,而是指字段会被“强制”更新到当前时间,你无法程序手动为字段赋值;如果使用django自带admin管理器,那么该字段admin...7.获取已登录用户名字 views里取值是request.user.username,模板页面取值是{{request.user}},判断是否通过验证是{% if request.user.is_authenticated...() 执行时,让数据库去根据数据库当前值进行更新操作; 一旦当前对象被存储时,我们必须重新加载当前对象以获取到当前数据库中最新值。

    1.4K10

    Django 1.10文文档-第一个应用Part4-表单和通用视图

    这意味着,当有人选择一个单选按钮提交表单提交时,它将发送一个POST数据choice=#,其中# 为选择ChoiceID。...现在,创建一个Django视图来处理提交数据,Part3已经创建了一个URLconf ,包含这一行: # polls/urls.py url(r'^(?...这个函数可以避免视图函数硬编码URL。它需要我们给出想要跳转视图名字和该视图所对应URL模式需要给该视图提供参数。...唯一不同模板名字。稍后再来优化这个问题。... 现在,浏览器访问/polls/1/然后为Question投票。应该看到一个投票结果页面,并且每次投票后都会更新。 如果提交时没有选择任何Choice,应该会看到错误信息。

    2.4K40

    django 1.8 官方文档翻译:13-1-2 使用Django认证系统

    对于需要与默认配置不同需求项目,Django支持扩展和自定义认证。 Django认证同时提供认证和授权,并通常统一称为认证系统,因为这些功能某些地方是耦合。...Django认证框架只存在一种类型用户,因此诸如'superusers'或管理员'staff'用户只是具有特殊属性集user对象,而不是不同类型user对象。...你应该为你想要使用视图创建自己模板模板上下文定义每个视图中,参见所有的认证视图. 使用视图 有几种不同方法在你项目中使用这些视图。...如果通过POST调用并带有用户提交凭证,它会尝试登入该用户。如果登入成功,该视图重定向到next中指定URL。...可以覆盖来自定义邮件如何发送给用户。

    4.7K20

    Django 2.1.7 视图 - HttpReqeust对象、QueryDict对象

    关于视图篇章 Django 2.1.7 视图 Django 2.1.7 MVT模型示例 - 查询数据,返回渲染模板数据 Django 2.1.7 视图 - 自定义404错误、500错误 在前面的篇章基本讲述了视图使用...浏览器给出地址发出请求采用get方式,如超链接。 浏览器中点击表单提交按钮发起请求,如果表单method设置为post则为post请求。...session:一个既可读又可写类似于字典对象,表示当前会话,只有当Django 启用会话支持时才可用。 运行服务器,浏览器浏览首页,可以浏览器“开发者工具”中看到请求信息如下图: ?...QueryDict对象 定义django.http.QueryDict HttpRequest对象属性GET、POST都是QueryDict类型对象 与python字典不同,QueryDict类型对象用来处理同一个键带有多个值情况...问:表单form如何提交参数呢? 答:表单控件name属性值作为键,value属性值为值,构成键值对提交。 如果表单控件没有name属性则不提交

    1.5K20

    37.Django1.11.6文档

    需要URL 地方,对于不同层级,Django 提供不同工具用于URL 反查: 模板:使用url 模板标签。 Python代码:使用reverse()函数。...指定自定义模板标签和过滤器最常见地方Django应用程序。...实例化、处理和渲染表单 Django 渲染一个对象时,我们通常: 图中获得它(例如,从数据库获取) 将它传递给模板context 使用模板变量将它扩展为HTML 标记 除了几个关键点不同之外...发送HTTP 重定向给浏览器告诉它下一步去向之前,我们可以用这个数据来更新数据库或者做其它处理。 (3)模板 我们不需要在name.html 模板做很多工作。...return kwargs 视图和模板中使用表单集 图中使用表单集就像使用标准Form 类一样简单, 唯一要做就是确信你模板处理表单。

    24.3K80

    Django 学习笔记之表单

    target 属性:规定 action 属性地址目标(默认:_self)。如果填写值 _blank ,当点击按钮提交数据时,新窗口中打开新页面。 常用表单元素有以下这些: <!...譬如:Model 某些属性我不需要显示页面上,或数据处理方式比较复杂,这个时候你就需要自定义 Form。自定义 Form 是直接继承 Form。...3.3 视图层处理 视图文件 view.py , 可以获取、过滤到用户提交数据。..." /> 我 url.py 定义表单路径是: from django.contrib import admin from django.urls...3.4 美化模板 我们虽然成功把表单内容渲染到页面上,但是页面有点丑陋。你可能会无法忍受,想把页面修改得美观一点,顺便也秀秀自己 Bootstrap 知识。

    2.6K30

    django配置文件详解_django配置redis

    ) 配置属性设置后,还需要将media文件夹注册到django,让django知道如何找到媒体文件,否则无法浏览器上访问该文件夹文件信息。...模板配置信息 使用前后端分离框架,这里暂不描述 数据库配置 待更新 中间件配置 中间件(Middleware)是一个用来处理Django请求(Request)和响应(Response)框架级别的钩子...开发者可以根据自己开发需求自定义中间件,只要将自定义中间件添加到配置属性MIDDLEWARE即可激活 一般情况下,Django默认中间件配置均可满足大部分开发需求,我们项目中MIDDLEWARE...*PhantomJS.*') ] 如果开发者定义url时候,最后有一个斜杠。但是用户访问url时候没有提交这个斜杠,那么CommonMiddleware会自动重定向到加了斜杠url上去。...(比如银行网站)转账按钮定位到病毒网站按钮上,这样用户点击病毒网站上按钮时候,实际上点击是受攻击网站(比如银行网站)上按钮,从而实现了不知不觉给攻击者转账功能。

    1.2K10

    Django学习-第十三讲(下):表单(一)forms.form、forms.modelform

    1. html表单和django表单区别 HTML表单: 单纯从前端html来说,表单是用来提交数据给服务器,不管后台服务器用Django还是PHP语言还是其他语言。...只要把input标签放在form标签,然后再添加一个提交按钮,那么以后点击提交按钮,就可以将input标签对应提交给服务器了。...Django表单 Django表单丰富了传统HTML语言中表单。Django表单,主要做以下两件事 渲染表单模板。 表单验证数据是否合法。...form标签,然后在里面使用了table标签来进行美化,使用form对象渲染时候,使用是table方式,当然还可以使用ul方式(as_ul),也可以使用p标签方式(as_p),并且在后面我们还加上了一个提交按钮...2.3. django 表单自定义验证 有时候对一个字段验证,不是一个长度,一个正则表达式能够写清楚,还需要一些其他复杂逻辑,那么我们可以对某个字段,进行自定义验证。

    3.2K40

    后端框架学习-Django

    参数=值&参数=值 信息片段:#subject锚点,直接定位到网页指定位置 Django如何处理URL?...该模式下依然存在控制层C,即主路由 Django模板模板层创建 模板根据字典数据动态变化html网页,根据图中传递字典数据动态生成相应html页面 模板配置: 创建模板文件夹 ...语法——父模板: 定义父模板块block标签 识别出哪些模板是允许被修改 block标签:模板定义,模板覆盖 语法——子模板: 继承模板extends标签(写在模板第一行)...重写,则按照重写效果显示 注意: 模板继承时,服务器动态内容无法继承 url反向解析 代码url位置: 1.模板 超链接 form表单 form action 将表单数据用...POST方法提交url 2.视图函数 - 302跳转 HttpResponseRedirect(‘url’) 将用户地址栏地址跳转到url 代码url书写规范 1.绝对地址:http://

    9.5K40

    Django—入门

    Django框架根据我们设计模型类生成了迁移文件,迁移文件我们可以看到fields列表每一个元素跟BookInfo类属性名以及属性类型是一致。...列表页中点击"增加"可以进入增加页,Django根据模型类不同,生成不同表单控件,按提示填写表单内容后点击"保存",完成数据创建,创建成功后返回列表页。 ?...上去 6.模板 如何向请求者返回一个漂亮页面呢? 肯定需要用到html、css,如果想要更炫效果还要加入js,问题来了,这么一堆字段串全都写到视图中,作为HttpResponse()参数吗?...Django,将前端内容定义模板,然后再把模板交给视图调用,各种漂亮、炫酷效果就出现了。...{{ li }} {% endfor %} 模板输出变量语法如下,变量可能是从视图中传递过来,也可能是模板定义

    1.9K10

    安全攻城狮大救星 | Savio-渗透测试报告自动生成工具

    根据提交数据、漏洞类型、时间等进行统计报表,当前用户管理模块仅允许通过Django后台进行修改。...l项目管理:根据项目的不同可上传项目的专属渗透测报告模板,并可以根据需要进行模板自定义模板(/Demo/demo.docx); l模板自定义:不用修改源代码,仅需修改word即可进行模板自定义; l整改建议管理...模板自定义 目前根据我经常使用渗透测试报告模板生成了一个demo版本(请参考/Demo/demo.docx)。...当然您也可以根据自己需求进行模板自定义,其中仅需WORD模板中进行参数替换,目前Savior具体参数如下: - {{report_no}} - 漏洞编号,通过时间戳自动生成,确保漏洞编号唯一性...提交后会自动生成渗透测试报告并进行下载。 打开报告会提示更新域,更新请选择是,再选择更新整个目录,此问题主要是为了更新目录,不然渗透测试报告目录无法自动更新

    1.2K30

    Django简介

    from是MySQL关键字,不要弄混淆了。否则点击提交按钮,是没有反应 <!...form表单,有GET和POST。它是根据method属性决定!一般表单使用POST 再次访问url,输入表单信息,点击提交。 输出ok,表示正常。注意:这里还没有做登录认证,下面会讲到! ?...首先是用户浏览器输入url:http://127.0.0.1:8000/login/ 2. django接收到请求之后,根据URL控制器匹配视图函数 3....如果没有响应,就会报错 视图函数,render是渲染意思。那么它是如何工作呢?...但是render没传,那么页面{{变量}} 会被替换为空。 如果模板里面,写了{{ }} 。变量名没写,那么页面报错 思考:如何点击时间时候,变成红色?

    1.7K20

    Django 2.1.7 模板 - CSRF 跨站请求伪造

    相关篇章 Django 2.1.7 创建应用模板 Django 2.1.7 配置公共静态文件、公共模板路径 Django 2.1.7 模板语言 - 变量、标签、过滤器、自定义过滤器、模板注释 Django...CSRF示意图如下: 如果想防止CSRF,首先是重要信息传递都采用POST方式而不是GET方式,接下来就说POST请求攻击方式以及Django避免。...9)点击浏览器第一个标签即网站A,点击"发帖"按钮后如下图: 10)点击浏览器第二个标签即网站B,点击“发帖”按钮后如下图: 通过action直接访问网站A地址,成功执行发帖。...', 'django.middleware.csrf.CsrfViewMiddleware', ) 2)回到windows浏览器,分别在网站A、网站B中点击“提交按钮,效果一样,如下图: 3...{% csrf_token %} 4)回到windows浏览器,在网站A中点击“提交按钮,效果如下图: 5)回到windows浏览器,在网站B中点击“提交按钮,效果如下图: 好了,Django成功完成

    1.9K20
    领券