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分析nignx访问日志脚本分享
Feb 26 Python
使用python 和 lint 删除项目无用资源的方法
Dec 20 Python
python web基础之加载静态文件实例
Mar 20 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
Apr 21 Python
pygame实现俄罗斯方块游戏
Jun 26 Python
Python OpenCV读取png图像转成jpg图像存储的方法
Oct 28 Python
Python 微信之获取好友昵称并制作wordcloud的实例
Feb 21 Python
Python实现的栈、队列、文件目录遍历操作示例
May 06 Python
Python生成个性签名图片获取GUI过程解析
Dec 16 Python
python读取文件指定行内容实例讲解
Mar 02 Python
Python unittest框架操作实例解析
Apr 13 Python
Python常用配置文件ini、json、yaml读写总结
Jul 09 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
收听困难?教您超简便短波广播抗干扰方法!
2021/03/01 无线电
菜鸟学PHP之Smarty入门
2007/01/04 PHP
PHP 错误之引号中使用变量
2009/05/04 PHP
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
php动态添加url查询参数的方法
2015/04/14 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
基于php流程控制语句和循环控制语句(讲解)
2017/10/23 PHP
理解Javascript_09_Function与Object
2010/10/16 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
js实现a标签超链接提交form表单的方法
2015/06/24 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
vue响应式系统之observe、watcher、dep的源码解析
2019/04/09 Javascript
浅谈JS的原型和继承
2019/05/08 Javascript
vue组件开发之tab切换组件使用详解
2020/08/21 Javascript
[00:32]DOTA2上海特级锦标赛 Ehome战队宣传片
2016/03/03 DOTA
Python的净值数据接口调用示例分享
2016/03/15 Python
python查询mysql,返回json的实例
2018/03/26 Python
Python OpenCV 使用滑动条来调整函数参数的方法
2019/07/08 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
python操作redis数据库的三种方法
2020/09/10 Python
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
HTML5 本地存储之如果没有数据库究竟会怎样
2013/04/25 HTML / CSS
澳大利亚药房在线:ThePharmacy
2017/10/04 全球购物
Clearly澳大利亚:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
个人函授自我鉴定
2014/03/25 职场文书
企业宣传标语
2014/06/09 职场文书
史上最牛的辞职信
2015/02/28 职场文书
技能培训通讯稿
2015/07/18 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书
「我的青春恋爱物语果然有问题。-妄言录-」第20卷封面公开
2022/03/21 日漫