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实现哈希表
Feb 07 Python
详解Python中heapq模块的用法
Jun 28 Python
详解python中的文件与目录操作
Jul 11 Python
python 去除二维数组/二维列表中的重复行方法
Jan 23 Python
使用Python进行体育竞技分析(预测球队成绩)
May 16 Python
java判断三位数的实例讲解
Jun 10 Python
PyCharm刷新项目(文件)目录的实现
Feb 14 Python
Python基于百度AI实现OCR文字识别
Apr 02 Python
基于python实现删除指定文件类型
Jul 21 Python
拿来就用!Python批量合并PDF的示例代码
Aug 10 Python
python实现ping命令小程序
Dec 28 Python
Python编程编写完善的命令行工具
Sep 15 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创建多级目录代码
2008/06/05 PHP
PHP写的求多项式导数的函数代码
2012/07/04 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
PHP基于MySQL数据库实现对象持久层的方法
2015/06/17 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
php中preg_replace_callback函数简单用法示例
2016/07/21 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
基于jquery实现的表格分页实现代码
2011/06/21 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
jQuery实现平滑滚动到指定锚点的方法
2015/03/20 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
2015/04/03 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
用NODE.JS中的流编写工具是要注意的事项
2016/03/01 Javascript
node.js实现端口转发
2016/04/14 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
Vue实现web分页组件详解
2017/11/28 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
详细介绍Python的鸭子类型
2016/09/12 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
Django自定义manage命令实例代码
2018/02/11 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
法国时尚童装网站:Melijoe
2016/08/10 全球购物
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
中职生自我鉴定范文
2013/10/03 职场文书
英语感恩演讲稿
2014/01/14 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
辩护词格式
2015/05/22 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB