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 获取本机ip地址的两个方法
Feb 25 Python
Python素数检测的方法
May 11 Python
Python中time模块和datetime模块的用法示例
Feb 28 Python
Python 中的with关键字使用详解
Sep 11 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
PyQt5 QTable插入图片并动态更新的实例
Jun 18 Python
python实现美团订单推送到测试环境,提供便利操作示例
Aug 09 Python
Flask框架学习笔记之使用Flask实现表单开发详解
Aug 12 Python
Python文件操作模拟用户登陆代码实例
Jun 09 Python
python 爬虫爬取京东ps4售卖情况
Dec 18 Python
Python的logging模块基本用法
Dec 24 Python
OpenCV图像变换之傅里叶变换的一些应用
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
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
微信 开发生成带参数的二维码的实例
2016/11/23 PHP
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
javascript笔记 String类replace函数的一些事
2011/09/22 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
javascript元素动态创建实现方法
2015/05/13 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
三种Webpack打包方式(小结)
2018/09/19 Javascript
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
python写的ARP攻击代码实例
2014/06/04 Python
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
Flask框架的学习指南之制作简单blog系统
2016/11/20 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
python 拼接文件路径的方法
2018/10/23 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
html5 button autofocus 属性介绍及应用
2013/01/04 HTML / CSS
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
薇姿法国官网:Vichy法国
2021/01/28 全球购物
应届生财务管理求职信
2013/11/06 职场文书
会计应届生的自荐信
2013/12/13 职场文书
学校宣传标语
2014/06/18 职场文书
单位工作证明范文
2014/09/14 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
三好学生事迹材料
2014/12/24 职场文书