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 相关文章推荐
Windows和Linux下使用Python访问SqlServer的方法介绍
Mar 10 Python
Python中输出ASCII大文字、艺术字、字符字小技巧
Apr 28 Python
深入探究Python中变量的拷贝和作用域问题
May 05 Python
Python的time模块中的常用方法整理
Jun 18 Python
python爬虫的工作原理
Mar 05 Python
python负载均衡的简单实现方法
Feb 04 Python
tensorflow如何批量读取图片
Aug 29 Python
DJango的创建和使用详解(默认数据库sqlite3)
Nov 18 Python
jupyter notebook参数化运行python方式
Apr 10 Python
浅谈在JupyterNotebook下导入自己的模块的问题
Apr 16 Python
python3代码中实现加法重载的实例
Dec 03 Python
Python中with上下文管理协议的作用及用法
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面试题 试试看看你会不会也中招
2014/08/19 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
2014/03/26 Javascript
jQuery 更改checkbox的状态,无效的解决方法
2016/07/22 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
Angular2搜索和重置按钮过场动画
2017/05/24 Javascript
VUE中的无限循环代码解析
2017/09/22 Javascript
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
JS实现监控微信小程序的原理
2018/06/15 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
Vue项目安装插件并保存
2019/01/28 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
通过实例讲解JS如何防抖动
2019/06/15 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
详解Python编程中基本的数学计算使用
2016/02/04 Python
python妙用之编码的转换详解
2017/04/21 Python
python中列表和元组的区别
2017/12/18 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
pandas数据集的端到端处理
2019/02/18 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
python的mysql数据库建立表与插入数据操作示例
2019/09/30 Python
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
CHRONEXT英国:您的首选奢华腕表目的地
2020/03/30 全球购物
10的分与合教学反思
2014/04/30 职场文书
2014年学生会工作总结范文
2014/11/07 职场文书
保护校园环境倡议书
2015/04/28 职场文书
宇宙与人观后感
2015/06/05 职场文书
离职告别感言
2015/08/04 职场文书
升学宴祝酒词
2015/08/11 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
Css预编语言及区别详解
2021/04/25 HTML / CSS
golang中的并发和并行
2021/05/08 Golang