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 中的列表解析和生成表达式
Mar 10 Python
Python中比较特别的除法运算和幂运算介绍
Apr 05 Python
Python简单实现TCP包发送十六进制数据的方法
Apr 16 Python
pandas的object对象转时间对象的方法
Apr 11 Python
python3读取excel文件只提取某些行某些列的值方法
Jul 10 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
Jan 08 Python
解决Python 使用h5py加载文件,看不到keys()的问题
Feb 08 Python
Python使用pyserial进行串口通信的实例
Jul 02 Python
python计算无向图节点度的实例代码
Nov 22 Python
python字符串,元组,列表,字典互转代码实例详解
Feb 14 Python
基于python实现上传文件到OSS代码实例
May 09 Python
Matplotlib中rcParams使用方法
Jan 05 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边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
php INI配置文件的解析实现分析
2011/01/04 PHP
C#使用PHP服务端的Web Service通信实例
2014/04/08 PHP
深入浅出php socket编程
2015/05/13 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
微信支付开发告警通知实例
2016/07/12 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
PHP高并发和大流量解决方案整理
2021/03/09 PHP
JS获取父节点方法
2009/08/20 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
用JavaScript实现PHP的urlencode与urldecode函数
2015/08/13 Javascript
JavaScript手机振动API
2016/06/11 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
p5.js入门教程和基本形状绘制
2018/03/15 Javascript
ES6关于Promise的用法详解
2018/05/07 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
JQuery获取元素尺寸、位置及页面滚动事件应用示例
2019/05/14 jQuery
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
Python读取properties配置文件操作示例
2018/03/29 Python
python对日志进行处理的实例代码
2018/10/06 Python
Python中文编码知识点
2019/02/18 Python
Python Switch Case三种实现方法代码实例
2020/06/18 Python
详解Python yaml模块
2020/09/23 Python
求职毕业生自荐书
2014/02/08 职场文书
计生工作先进事迹
2014/08/15 职场文书
联谊活动总结
2014/08/28 职场文书
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS