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下载懒人图库JavaScript特效
May 28 Python
使用Python解析JSON数据的基本方法
Oct 15 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
Dec 24 Python
python中日志logging模块的性能及多进程详解
Jul 18 Python
python TKinter获取文本框内容的方法
Oct 11 Python
python实现旋转和水平翻转的方法
Oct 25 Python
python语言元素知识点详解
May 15 Python
Python SELENIUM上传文件或图片实现过程
Oct 28 Python
Django框架创建项目的方法入门教程
Nov 04 Python
手把手教你安装Windows版本的Tensorflow
Mar 26 Python
Python基于traceback模块获取异常信息
Jul 23 Python
matplotlib subplot绘制多个子图的方法示例
Jul 28 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
杏林同学录(三)
2006/10/09 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
浅谈PHP匿名函数和闭包
2019/03/08 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
2014/06/16 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
2015/09/27 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
Bootstrap框架实现广告轮播效果
2016/11/28 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
2018/09/13 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
python更新列表的方法
2015/07/28 Python
python最长回文串算法
2018/06/04 Python
波兰最大的儿童服装连锁店之一:5.10.15.
2018/02/11 全球购物
迪士尼西班牙官方网上商店:ShopDisney西班牙
2020/02/02 全球购物
毕业生教师求职信
2013/10/20 职场文书
测试工程师岗位职责
2013/11/28 职场文书
求职信格式要求
2014/05/23 职场文书
新闻工作者先进事迹
2014/05/26 职场文书
三月法制宣传月活动总结
2014/07/03 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
酒店周年庆活动方案
2014/08/21 职场文书
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
《三国志》赏析
2019/08/27 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
2022/05/25 Servers
Java获取字符串编码格式实现思路
2022/09/23 Java/Android
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript