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的Django框架中的ORM建立查询API
Apr 20 Python
Python执行时间的计算方法小结
Mar 17 Python
python reduce 函数使用详解
Dec 05 Python
从DataFrame中提取出Series或DataFrame对象的方法
Nov 10 Python
pandas的qcut()方法详解
Jul 06 Python
pandas 如何分割字符的实现方法
Jul 29 Python
python返回数组的索引实例
Nov 28 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
Feb 18 Python
Python 安装 virturalenv 虚拟环境的教程详解
Feb 21 Python
python logging 重复写日志问题解决办法详解
Aug 04 Python
Python wordcloud库安装方法总结
Dec 31 Python
python三子棋游戏
May 04 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生成RSS文件类实例
2014/12/05 PHP
php使用ob_flush不能每隔一秒输出原理分析
2015/06/02 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
定义select的边框颜色
2008/04/28 Javascript
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
有关于JS构造函数的重载和工厂方法
2013/04/07 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
js移动焦点到最后位置的简单方法
2016/11/25 Javascript
js 颜色选择插件
2017/01/23 Javascript
Vue2.0如何发布项目实战
2017/07/27 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
2019/04/29 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
Python tkinter事件高级用法实例
2018/01/31 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
使用Python监控文件内容变化代码实例
2018/06/04 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
Koral官方网站:女性时尚运动服
2019/04/10 全球购物
营业经理岗位职责
2013/11/10 职场文书
物业经理自我鉴定
2014/03/03 职场文书
五一劳动节活动记录
2014/03/23 职场文书
社区工作者演讲稿
2014/05/23 职场文书
五年级学生期末评语
2014/12/26 职场文书
教代会闭幕词
2015/01/28 职场文书
如何理解python接口自动化之logging日志模块
2021/06/15 Python