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制作最美应用的爬虫
Oct 28 Python
python开发之IDEL(Python GUI)的使用方法图文详解
Nov 12 Python
Python处理JSON时的值报错及编码报错的两则解决实录
Jun 26 Python
简单掌握Python中glob模块查找文件路径的用法
Jul 05 Python
python3获取两个日期之间所有日期,以及比较大小的实例
Apr 08 Python
Python代理IP爬虫的新手使用教程
Sep 05 Python
Python 字符串、列表、元组的截取与切片操作示例
Sep 17 Python
关于Python中定制类的比较运算实例
Dec 19 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
Mar 10 Python
详解pytorch tensor和ndarray转换相关总结
Sep 03 Python
如何一键升级Python所有包
Nov 05 Python
opencv用VS2013调试时用Image Watch插件查看图片
Jul 26 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对字符串的递增运算分析
2010/08/08 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
半角全角相互转换的js函数
2009/10/16 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
轻量级javascript 框架Backbone使用指南
2015/07/24 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
2019/07/31 jQuery
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
2019/10/26 jQuery
Python编码爬坑指南(必看)
2016/06/10 Python
python实现给scatter设置颜色渐变条colorbar的方法
2018/12/13 Python
python脚本调用iftop 统计业务应用流量的思路详解
2019/10/11 Python
python django中8000端口被占用的解决
2019/12/17 Python
python属于解释语言吗
2020/06/11 Python
keras 读取多标签图像数据方式
2020/06/12 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
浅析Python中字符串的intern机制
2020/10/03 Python
web页面录屏实现
2019/02/12 HTML / CSS
html5.2 dialog简介详解
2018/02/27 HTML / CSS
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
大学生求职中的自我评价
2013/10/01 职场文书
电子专业自荐信
2014/07/01 职场文书
升学宴演讲稿
2014/09/01 职场文书
施工安全协议书
2016/03/22 职场文书
如何用 Python 子进程关闭 Excel 自动化中的弹窗
2021/05/07 Python
python scipy 稀疏矩阵的使用说明
2021/05/26 Python
java解析XML详解
2021/07/09 Java/Android
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
如何用vue实现网页截图你知道吗
2021/11/17 Vue.js
【海涛DOTA解说】EVE女子战队独家录像加ZSMJ神牛两连发
2022/04/01 DOTA
Python必备技巧之函数的使用详解
2022/04/04 Python