django如何实现视图重定向


Posted in Python onJuly 24, 2019

当请求访问到某个视图时,我们想让它重定向到其他页面,应该怎么做呢?

1.HttpResponseRedirect

需求:当我们访问127.0.0.1/my_redirect时跳到127.0.0.1/user/index

注意:要注册相应的url

def my_redirect(request):
  return HttpResponseRedirect('/user/index')

2.redirect

需求:同上

def my_redirect(request):
  return redirect('/user/index')

3.reversr函数动态生成url地址,解决硬编码维护麻烦的问题(用得较少)

如果你写的视图函数,有一大堆都是重定向到127.0.0.1/user/index的。

那么当你想要改一下它的重定向地址时,让他重定向到127.0.0.1/user/abc。就要一个一个视图函数修改了。这样维护起来是不是特别的麻烦?reverse函数自动生成url地址就可以解决这个问题啦。

(1)当我们在项目的urls.py文件和应用的urls.py文件都设置了url。

项目中的urls.py:

url(r'^user/',include("user.urls",namespace="user")),
url(r'^my_redirect',views.my_redirect)

应用的urls.py:

url(r'^index$',views.index,name="index")

视图:

# 重定向
def my_redirect(request):
  url=reverse("user:index") # 先写namespace的值,再写name的值!
  return redirect(url)

现在的情形是访问127.0.0.1/my_redirect,直接重定向到127.0.0.1/user/index。

如果想重定向到127.0.0.1/user/abc的话,直接修改应用的urls.py为:

url(r'^abc$',views.my_redirect,name="index")

如果想重定向到127.0.0.1/abc/index的话,直接修改项目的urls.py为:

url(r'^abc/',include("user.urls",namespace="user"))

(2)当我们只在项目的urls.py设置了url。

项目中的urls.py:

url(r'^index',views.index,name="index"),
url(r'^my_redirect$',views.my_redirect)

视图:

# 重定向
def my_redirect(request):
  url=reverse("index")
  return redirect(url)

现在的情形是访问127.0.0.1/my_redirect时自动跳转到127.0.0.1/index。

如果想重定向到127.0.0.1/abc时,直接修改项目中的urls.py文件为:

url(r'^abc',views.index,name="index")

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

Python 相关文章推荐
python中bisect模块用法实例
Sep 25 Python
Python中文竖排显示的方法
Jul 28 Python
Python set常用操作函数集锦
Nov 15 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
Jan 09 Python
使用python画个小猪佩奇的示例代码
Jun 06 Python
python实现桌面壁纸切换功能
Jan 21 Python
对python中的try、except、finally 执行顺序详解
Feb 18 Python
如何通过50行Python代码获取公众号全部文章
Jul 12 Python
numpy:np.newaxis 实现将行向量转换成列向量
Nov 30 Python
Python gevent协程切换实现详解
Sep 14 Python
Python txt文件如何转换成字典
Nov 03 Python
如何用Python和JS实现的Web SSH工具
Feb 23 Python
python字符串分割及字符串的一些常规方法
Jul 24 #Python
django使用haystack调用Elasticsearch实现索引搜索
Jul 24 #Python
python 判断三个数字中的最大值实例代码
Jul 24 #Python
Django Celery异步任务队列的实现
Jul 24 #Python
python如何统计代码运行的时长
Jul 24 #Python
Django时区详解
Jul 24 #Python
详解Django定时任务模块设计与实践
Jul 24 #Python
You might like
用PHP和ACCESS写聊天室(五)
2006/10/09 PHP
与文件上传有关的php配置参数总结
2013/06/14 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
PHP查询分页的实现代码
2017/06/09 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
2020/11/27 PHP
jQuery 研究心得 取得属性的值
2007/11/30 Javascript
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
2011/07/04 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
浏览器复制插件zeroclipboard使用指南
2016/03/26 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
jquery属性,遍历,HTML操作方法详解
2016/09/17 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
使用Node.js搭建静态资源服务详细教程
2017/08/02 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
Python文件操作类操作实例详解
2014/07/11 Python
python抓取网页中链接的静态图片
2018/01/29 Python
如何用python写一个简单的词法分析器
2018/12/18 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
应届生学校辅导员求职信
2013/11/07 职场文书
写给女朋友的道歉信
2014/01/08 职场文书
2014年学习雷锋活动总结
2014/03/01 职场文书
2014旅游局领导班子四风问题对照检查材料思想汇报
2014/09/19 职场文书
个人优缺点总结
2015/02/28 职场文书
证券区域经理岗位职责
2015/04/10 职场文书
电信营业员岗位职责
2015/04/14 职场文书
详解Python flask的前后端交互
2022/03/31 Python