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的加密模块md5、sha、crypt使用实例
Sep 28 Python
在Python的Django框架上部署ORM库的教程
Apr 20 Python
python获取本地计算机名字的方法
Apr 29 Python
python实现一个简单的udp通信的示例代码
Feb 01 Python
说说如何遍历Python列表的方法示例
Feb 11 Python
Python单元和文档测试实例详解
Apr 11 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
手把手教你进行Python虚拟环境配置教程
Feb 03 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
Feb 10 Python
Python插件机制实现详解
May 04 Python
Pycharm修改python路径过程图解
May 22 Python
Python3通过chmod修改目录或文件权限的方法示例
Jun 08 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 error_log()将错误信息写入一个文件(定义和用法)
2013/10/25 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
PHP文件大小格式化函数合集
2014/03/10 PHP
php使用百度天气接口示例
2014/04/22 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
2015/10/26 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
2016/08/01 Javascript
jQuery实现文档树效果
2017/02/20 Javascript
jquery表单验证实例仿Toast提示效果
2017/03/03 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
详解VUE 数组更新
2017/12/16 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
[01:33:30]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第二场 2月5日
2021/03/11 DOTA
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
Python实现大文件排序的方法
2015/07/10 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
Manuka Doctor英国官网:真正的麦卢卡蜂蜜和护肤品
2018/10/26 全球购物
Ray-Ban雷朋瑞典官方网站:全球领先的太阳眼镜品牌
2019/08/22 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
自荐信的五个重要部分
2013/10/29 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
公司慰问信范文
2015/03/23 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
如何撰写创业策划书
2019/06/27 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书
python脚本框架webpy模板控制结构
2021/11/20 Python
nginx 配置指令之location使用详解
2022/05/25 Servers