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利用elaphe制作二维条形码实现代码
May 25 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
python目录与文件名操作例子
Aug 28 Python
Python中序列的修改、散列与切片详解
Aug 27 Python
python爬取指定微信公众号文章
Dec 20 Python
解决python ogr shp字段写入中文乱码的问题
Dec 31 Python
PyTorch预训练的实现
Sep 18 Python
Python3.8对可迭代解包的改进及用法详解
Oct 15 Python
Python Numpy数组扩展repeat和tile使用实例解析
Dec 09 Python
Pandas —— resample()重采样和asfreq()频度转换方式
Feb 26 Python
Django model.py表单设置默认值允许为空的操作
May 19 Python
python遍历路径破解表单的示例
Nov 21 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实现在服务器上创建目录的方法
2015/03/16 PHP
浅谈PHP表单提交(POST&GET&URL编/解码)
2017/04/03 PHP
PHP常用正则表达式精选(推荐)
2019/05/28 PHP
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
window.onload与$(document).ready()的区别分析
2015/05/30 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
vue组件父子间通信详解(三)
2017/11/07 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
2018/12/12 Javascript
Node 搭建一个静态资源服务器的实现
2019/05/20 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
利用python实现数据分析
2017/01/11 Python
深入理解Python对Json的解析
2017/02/14 Python
python编程线性回归代码示例
2017/12/07 Python
Django之模型层多表操作的实现
2019/01/08 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
django一对多模型以及如何在前端实现详解
2019/07/24 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
全球虚拟主机商:HostGator
2017/02/06 全球购物
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
介绍一下Linux内核的排队自旋锁
2014/01/04 面试题
2013年入党人员的自我鉴定
2013/10/25 职场文书
研究生毕业鉴定
2014/01/29 职场文书
房地产广告词大全
2014/03/19 职场文书
十八大演讲稿
2014/05/22 职场文书
和谐社区口号
2014/06/19 职场文书
超市采购员岗位职责
2015/04/07 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
用Python selenium实现淘宝抢单机器人
2021/06/18 Python
JavaScript中reduce()的用法
2022/05/11 Javascript