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 相关文章推荐
Django imgareaselect手动剪切头像实现方法
May 26 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
Jun 21 Python
Python的消息队列包SnakeMQ使用初探
Jun 29 Python
Python安装lz4-0.10.1遇到的坑
May 20 Python
Python IDLE清空窗口的实例
Jun 25 Python
Python从函数参数类型引出元组实例分析
May 28 Python
pycharm 安装JPype的教程
Aug 08 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
Sep 20 Python
Python3.8对可迭代解包的改进及用法详解
Oct 15 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
Feb 12 Python
python实现发送邮件
Mar 02 Python
Python机器学习之基础概述
May 19 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
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
Yii全局函数用法示例
2017/01/22 PHP
jQuery toggle()设置CSS样式
2009/11/05 Javascript
JQuery Dialog的内存泄露问题解决方法
2010/06/18 Javascript
javascript分页代码(当前页码居中)
2012/09/20 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
2016/01/10 Javascript
jquery制做精致的倒计时特效
2016/06/13 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
2019/01/19 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
js实现的格式化数字和金额功能简单示例
2019/07/30 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
antd table按表格里的日期去排序操作
2020/11/17 Javascript
Python Requests安装与简单运用
2016/04/07 Python
在Python中使用AOP实现Redis缓存示例
2017/07/11 Python
Python装饰器用法实例总结
2018/05/26 Python
pycharm 2020 1.1的安装流程
2020/09/29 Python
美国Lolё官网:购买大胆而美丽的女性运动服装
2017/05/22 全球购物
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
长青弘远的面试题
2012/06/09 面试题
50道外企软件测试面试题
2014/08/18 面试题
有模特经验的简历自我评价
2013/09/19 职场文书
入党自荐书范文
2014/03/09 职场文书
简单租房协议书范本
2014/08/20 职场文书
运动会广播稿200米(5篇)
2014/10/15 职场文书
村级干部党员公开承诺事项
2015/05/04 职场文书
2015年教研组工作总结
2015/05/04 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书
MySQL 四种连接和多表查询详解
2021/07/16 MySQL
Android实现图片九宫格
2022/06/28 Java/Android