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统计文本文件内单词数量的方法
May 30 Python
python好玩的项目—色情图片识别代码分享
Nov 07 Python
python入门前的第一课 python怎样入门
Mar 06 Python
python爬取网页转换为PDF文件
Jun 07 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
Jul 06 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 Python
安装完Python包然后找不到模块的解决步骤
Feb 13 Python
Python 实现日志同时输出到屏幕和文件
Feb 19 Python
python3.x中安装web.py步骤方法
Jun 23 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
Dec 04 Python
Python NumPy灰度图像的压缩原理讲解
Aug 04 Python
Python实现归一化算法详情
Mar 18 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读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
解析php中的fopen()函数用打开文件模式说明
2013/06/20 PHP
ThinkPHP CURD方法之field方法详解
2014/06/18 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
PHP设置进度条的方法
2015/07/08 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
js不是基础的基础
2006/12/24 Javascript
IE与firefox之jquery用法区别
2008/10/03 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
js 获取、清空input type="file"的值示例代码
2014/02/19 Javascript
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
JavaScript操作HTML DOM节点的基础教程
2016/03/11 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
bootstrap laydate日期组件使用详解
2017/01/04 Javascript
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
[00:52]玛尔斯技能全介绍
2019/03/06 DOTA
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
python创建文件时去掉非法字符的方法
2018/10/31 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
numpy:np.newaxis 实现将行向量转换成列向量
2019/11/30 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
基于Python绘制个人足迹地图
2020/06/01 Python
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
大学毕业生简单自荐信
2013/11/05 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
语文高效课堂实施方案
2014/05/03 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
企业员工辞职信范文
2015/05/12 职场文书
三八节活动主持词
2015/07/04 职场文书
mybatis 获取更新记录的id
2022/05/20 Java/Android
windows系统安装配置nginx环境
2022/06/28 Servers