django如何实现视图重定向
作者:苦瓜爆炒牛肉 时间:2022-05-28 12:22:13
当请求访问到某个视图时,我们想让它重定向到其他页面,应该怎么做呢?
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")
来源:https://www.cnblogs.com/chichung/p/9880519.html
标签:django,视图,重定向
0
投稿
猜你喜欢
5个充满想象力的Web调色板
2008-08-02 12:55:00
详解Python如何实现惰性导入-lazy import
2023-12-22 20:15:43
python 3.7.0 下pillow安装方法
2023-07-09 09:47:49
Python批量解压&压缩文件夹的示例代码
2023-02-17 17:43:29
python filecmp.dircmp实现递归比对两个目录的方法
2021-10-11 10:22:29
PyTorch 中的 torch.utils.data 解析(推荐)
2021-09-14 01:58:16
Python新手学习raise用法
2021-01-08 22:37:52
浅谈Python 递归算法指归
2023-01-12 06:27:50
Python文件处理
2022-08-08 10:22:01
使用tensorflow实现线性回归
2023-08-14 02:33:55
Python图像处理库PIL的ImageFont模块使用介绍
2023-12-20 10:30:42
教你使用Python画圣诞树做浪漫的程序员
2023-03-19 21:39:02
python验证身份证信息实例代码
2022-11-19 13:36:24
windows python3安装Jupyter Notebooks教程
2023-04-13 12:56:16
Python基础之getpass模块详细介绍
2021-03-06 13:47:13
Python安装教程全过程(2022最新)
2022-05-09 06:10:55
Python多线程爬虫实战_爬取糗事百科段子的实例
2021-02-15 16:58:21
python中pyqtgraph知识点总结
2022-02-23 10:24:30
SQL Server 2000数据库FOR XML查询概述
2008-12-09 14:49:00
python之np.argmax()及对axis=0或者1的理解
2021-01-27 19:28:32