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查找函数f(x)=0根的解决方法
May 07 Python
python3.5实现socket通讯示例(TCP)
Feb 07 Python
python引入导入自定义模块和外部文件的实例
Jul 24 Python
使用python实现ANN
Dec 20 Python
Python+OpenCV目标跟踪实现基本的运动检测
Jul 10 Python
Python操作word常见方法示例【win32com与docx模块】
Jul 17 Python
Python3实现mysql连接和数据框的形成(实例代码)
Jan 17 Python
pytorch梯度剪裁方式
Feb 04 Python
浅谈pandas dataframe对除数是零的处理
Jul 20 Python
python 模拟登陆github的示例
Dec 04 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 Python
只需要这一行代码就能让python计算速度提高十倍
May 24 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
利用phpexcel把excel导入数据库和数据库导出excel实现
2014/01/09 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
javascript改变position值实现菜单滚动至顶部后固定
2013/01/18 Javascript
JAVASCRIPT函数作用域和提前声明 分享
2013/08/22 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
jquery.post用法示例代码
2014/01/03 Javascript
全面了解addEventListener和on的区别
2016/07/14 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
jquery实现简单实用的轮播器
2017/05/23 jQuery
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
详解JavaScript作用域和作用域链
2019/03/19 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
python类定义的讲解
2013/11/01 Python
使用PDB模式调试Python程序介绍
2015/04/05 Python
使用C语言扩展Python程序的简单入门指引
2015/04/14 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
python3.6的venv模块使用详解
2018/08/01 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
DELPHI面试题研发笔试试卷
2015/11/08 面试题
搞笑婚礼主持词
2014/03/13 职场文书
党员干部公开承诺书
2014/03/26 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
群众路线对照检查材料
2014/09/22 职场文书
解除劳动合同证明书
2014/09/26 职场文书
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers