Django中多种重定向方法使用详解


Posted in Python onJuly 17, 2019

前言

本文使用了Django1.8.2

使用场景,例如在表单一中提交数据后,需要返回到另一个指定的页面即可使用重定向方法

一、 使用HttpResponseRedirect

fuhao The first argument to the constructor is required ? the path to redirect to. This can be a fully qualified URL or an absolute path with no domain。”参数可以是绝对路径跟相对路径”

from django.http import HttpResponseRedirect 

@login_required 
def update_time(request): 
  #表单处理OR逻辑处理 
  return HttpResponseRedirect('/') #跳转到主界面 
#如果需要传参数
return HttpResponseRedirect('/commons/index/?message=error')

二 redirect和reverse

from django.core.urlresolvers import reverse 
from django.shortcuts import redirect 
#https://docs.djangoproject.com/en/1.8.2/topics/http/shortcuts/ 

@login_required 
def update_time(request): 
  #进行要处理的逻辑 
  return redirect(reverse('test.views.invoice_return_index', args=[])) #跳转到index界面 

redirect 类似HttpResponseRedirect的用法,也可以使用 字符串的url格式 /..index/?a=add
reverse 可以直接用views函数来指定重定向的处理函数,args是url匹配的值。

三、 其他

#其他的也可以直接在url中配置
from django.views.generic.simple import redirect_to 
在url中添加 (r'^test/$', redirect_to, {'url': '/author/'}), 

#我们甚至可以使用session的方法传值
request.session['error_message'] = 'test' 
redirect('%s?error_message=test' % reverse('page_index')) 
#这些方式类似于刷新,客户端重新指定url。

#重定向,如果需要携带参数,那么能不能直接调用views中 url对应的方法来实现呢,默认指定一个参数。
#例如view中有个方法baseinfo_account, 然后另一个url(对应view方法为blance_account)要重定向到这个baseinfo_account。
#url中的配置:
urlpatterns = patterns('', 
  url(r'^index/', 'account.views.index_account'), 
  url(r'^blance/', 'account.views.blance_account'), 
) 
# views.py
@login_required 
def index_account(request, args=None): 
  ​#按照正常的url匹配这么写有点不合适,看起来不规范 
  ​if args: 
    print args 
  return render(request, 'accountuserinfo.html', {"user": user}) 


@login_required   
def blance_account(request): 
  return index_account(request, {"name": "orangleliu"}) 
#测试为:
#1 直接访问 /index 是否正常 (测试ok)
#2 访问 /blance 是否能正常的重定向到 /index页面,并且获取到参数(测试ok,页面为/index但是浏览器地址栏的url仍然是/blance)
#这样的带参数重定向是可行的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python下MySQLdb用法实例分析
Jun 08 Python
Python的面向对象编程方式学习笔记
Jul 12 Python
Python加载带有注释的Json文件实例
May 23 Python
Python单元测试简单示例
Jul 03 Python
浅谈Python中的bs4基础
Oct 21 Python
python 获取url中的参数列表实例
Dec 18 Python
python实现石头剪刀布程序
Jan 20 Python
Django框架登录加上验证码校验实现验证功能示例
May 23 Python
python3 常见解密加密算法实例分析【base64、MD5等】
Dec 19 Python
python import 上级目录的导入
Nov 03 Python
python切片作为占位符使用实例讲解
Feb 17 Python
pytorch 实现在测试的时候启用dropout
May 27 Python
200行python代码实现2048游戏
Jul 17 #Python
Django后端接收嵌套Json数据及解析详解
Jul 17 #Python
Python制作微信好友背景墙教程(附完整代码)
Jul 17 #Python
python代码编写计算器小程序
Mar 30 #Python
Django Channels 实现点对点实时聊天和消息推送功能
Jul 17 #Python
Python Django的安装配置教程图文详解
Jul 17 #Python
python按键按住不放持续响应的实例代码
Jul 17 #Python
You might like
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
javascript显示选择目录对话框的代码
2008/11/10 Javascript
Javascript 面向对象 重载
2010/05/13 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
[01:17]炒鸡美酒第四天TA暴走
2018/06/05 DOTA
python中zip和unzip数据的方法
2015/05/27 Python
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
浅谈python写入大量文件的问题
2018/11/09 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
pycharm 安装JPype的教程
2019/08/08 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
Python xlwt模块使用代码实例
2020/06/10 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
2021/01/07 Python
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
军训学生自我鉴定
2014/02/12 职场文书
培训班开班仪式主持词
2014/03/28 职场文书
保护环境演讲稿
2014/05/10 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
党支部反对四风思想汇报
2014/10/10 职场文书
关于公司年会的开幕词
2016/03/04 职场文书