Django中多种重定向方法使用
本文主要讲解使用HttpResponseRedirect、redirect、reverse以及配置文件中配置URL等重定向方法
本文使用了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) #这样的带参数重定向是可行的。
转载于:https://www.cnblogs.com/wumingxiaoyao/p/8251737.html
Django中多种重定向方法使用相关推荐
- django中使用POST方法 获取POST数据
在django中获取post数据,首先要规定post发送的数据类型是什么. 1.获取POST中表单键值数据 如果要在django的POST方法中获取表单数据,则在客户端使用JavaScript发送PO ...
- Django框架(9.Django中的配置使用MySQL数据库以及页面重定向)
ORM框架简介 ORM框架还可以通过方便的配置就可以进行数据库的切换 进入虚拟环境,创建一个新的项目,django-admin startproject test2 (test2为项目名) 创建好 ...
- Django中遇到的问题以及解决方法
文章目录 1. SQLite 3.8.3 or later is required (found 3.7.17) 2. ModuleNotFoundError: No module named '_s ...
- Windows下在Django中创建项目时ImportError: No module named django.core解决方法
Windows下在Django中创建项目时ImportError: No module named django.core解决方法 今天在对照<Python编程:从入门到实践>学## 标题 ...
- 如何在Django中进行调试,好方法? [关闭]
因此,我开始学习使用Python和更高版本的Django进行编码. 第一次很难查看回溯,实际上要弄清楚我做错了什么以及语法错误在哪里. 现在已经过去了一段时间,而且我想我已经有了调试Django代码的 ...
- django中聚合aggregate和annotate GROUP BY的使用方法
接触django已经很长时间了,但是使用QuerySet查询集的方式一直比较低端,只会使用filter/Q函数/exclude等方式来查询,数据量比较小的时候还可以,但是如果数据量很大,而且查询比较复 ...
- 如何使cmd的输入和输出重定向到管道中(用这种方法可以将指令写入cmd并抓取输出)
/ // // // ...
- python编程django项目中ModuleNotFoundError: No module named ‘django.core.urlresolvers‘解决方法
文章目录 遇到的问题 解决方法 参考 遇到的问题 在做<python编程-从入门到实践>书中的项目的时候,遇到No module named 'django.core.urlresolve ...
- Django中加载static无法成功的解决方法
Django中加载static无法成功的解决方法 参考文章: (1)Django中加载static无法成功的解决方法 (2)https://www.cnblogs.com/jianglijian/p/ ...
最新文章
- 采用Android的MediaPlayer+SurfaceView设计视频播放器
- mysql闪回工具下载_MySQL闪回工具之myflash 和 binlog2sql
- Python实现进度条和时间预估的示例代码
- 光电显示未连接服务器,T106串口服务器解决方案
- 原生 遍历_迭代器模式统一集合的遍历方式
- UVA11424 GCD - Extreme (I)【欧拉函数打表】
- java并发编程(四) 线程池 任务执行、终止源码分析
- 武汉理工大学计算机考研专业代码,武汉理工大学代码及专业代码
- 刮刮乐微信html5源码,微信小程序canvas实现刮刮乐效果
- 小马哥-----高仿红米note3 市场已出现山寨 警惕 高仿红米note3 J7218刷机外观图与开机识别图
- 全球太阳能、风能资源空间分布数据集
- 求真值表,主析取范式,主合取范式
- 【迭代器】迭代器相应型别
- 选择google输入法的理由
- 史玉柱深度剖析:民营的13种“死法”
- canvas制作旋转的太极图
- 全国大中学生体测取消选测 长跑成为必测项目
- oca sci 计算机视觉,张启灿
- 制作每日疫情通报省份地图
- matlab仿真 调频立体声广播,(精编)调频立体声广播系统的建模与仿真
热门文章
- silverlight 打开html_Silverlight与HTML集成方法
- 河海大学839计算机技术基础,2017年河海大学计算机与信息学院839通信原理考研强化模拟题...
- python 博弈论 库_SHAP:Python的可解释机器学习库
- Springboot,SSM框架比较,区别
- 单片机at指令解析 开源_分享Github上几个开源单片机硬件驱动库
- 彩虹物语服务器维护,11.19《彩虹物语》服务器维护及数据互通公告
- stream测试内存_.net core百万设备连接服务和硬件需求测试
- 测试MM32 MicroPython测试电路板的基本功能
- 脚踏板USB接口与无线遥控连接方案论证
- Σ-delta ADC是否可以测量热噪声?