django视图重定向
# 原创,转载请留言联系
当请求访问到某个视图时,我们想让它重定向到其他页面,应该怎么做呢?
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。https://www.cnblogs.com/chichung/p/9872766.html
项目中的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")
my_redirect
django视图重定向的更多相关文章
- Django 视图系统
Django 视图系统 概念 一个视图函数,简称视图,是一个简单的Python函数,用于接受Web请求并返回Web响应. 通常将视图函数写在project或app目录中的名为views.py文件中 简 ...
- Django视图(一)
Django视图(一) 一. 概述 作用:视图接受web请求,并相应请求 本质:视图是自定义的一个python中的函数 响应内容:正常视图,重定向视图,错误视图(404,500,400) 响应过程: ...
- Django 2.0 学习(07):Django 视图(进阶-续)
接Django 2.0 学习(06):Django 视图(进阶),我们将聚焦在使用简单的表单进行处理和精简代码. 编写简单表单 我们将用下面的代码,来替换之前的detail模板("polls ...
- django视图函数解析(三)
1 视图views概述 1 作用: 视图接受web请求并响应web请求 2 本质: 视图就是python中的处理函数 3 响应: 一般是一个网页的HTML内容.一个重定向.错误信息页面.json格式的 ...
- 【Mac系统 + Python + Django】之开发一个发布会系统【Django视图(二)】
此学习资料是通过虫师的python接口自动化出的书学习而来的,在此说明一下,想学习更多的自动化的同学可以找虫师的博客园,非广告,因为我python+selenium自动化也是跟虫师学的,学习效果很好的 ...
- [diango]理解django视图工作原理
前言:正确理解django视图view,模型model,模板的概念及其之间的关联关系,才能快速学习并上手使用django制作网页 本文主要讲解自己在学习django后对视图view的理解 在进入正文之 ...
- Django 2.0 学习(03):Django视图和URL(下)
接上篇博文,继续分析Django基本流程. 编写第一个(view)视图函数 1.打开文件polls/views.py,输入下面的Python代码: from django.http import Ht ...
- 如何在django视图中使用asyncio(协程)和ThreadPoolExecutor(多线程)
Django视图函数执行,不在主线程中,直接 loop = asyncio.new_event_loop() # 更不能loop = asyncio.get_event_loop() 会触发 Runt ...
- 令Django 视图有默认 login_required
方法一 from django.template import RequestContext from django.shortcuts import render_to_response from ...
随机推荐
- [原]sencha touch之表单二(注册页面)
接着上一篇的登陆页面,来一个最简单的注册页面,几乎包含了常用的field Ext.application({ id:'itKingApp', launch:function(){ var formPa ...
- border与透明边框
1.背景:怎样增加复选框响应域的大小?就是,复选框点击区域增大一些 需求复选框的视觉区域大小(不含边框)是16px*16px 现在要把可点击区域增加到20px*20px 解决方案: box-shado ...
- centos 服务器内存管理 服务于端口状态
du su /目录/ 查看改目录大小 ls -lht / 查看文件详情,显示文件大小(直观) df -h 查看系统内存占用情况 centos 版本 lsb_release -a cat /etc/i ...
- 从事IT业一个8年老兵转行前的自我总结1——初爻
现在,本人已离开这个呆了8年的软件行业了.回想自己从半路出家,从实施开始做起,最终在一家外企做项目经理PM结束了自己的软件职业生涯.从一张白纸的自学开始,做过项目实施,客户培训,拿过需求,开发,架构设 ...
- 剑指Offer - 九度1509 - 树中两个结点的最低公共祖先
剑指Offer - 九度1509 - 树中两个结点的最低公共祖先2014-02-07 01:04 题目描述: 给定一棵树,同时给出树中的两个结点,求它们的最低公共祖先. 输入: 输入可能包含多个测试样 ...
- 【Dual Support Vector Machine】林轩田机器学习技法
这节课内容介绍了SVM的核心. 首先,既然SVM都可以转化为二次规划问题了,为啥还有有Dual啥的呢?原因如下: 如果x进行non-linear transform后,二次规划算法需要面对的是d`+1 ...
- eclipse里导入maven项目有红叉的解决办法
导入maven的项目上有红叉,说明eclipse里maven的插件该更新了 1.help里选择install new software 2.点击add,输入name:MavenArchiver, lo ...
- Python编码、流程控制、格式化输出
Python编码 初始编码: 电脑的传输,还有储存,实际上都是010101010 ASCII码: (American Standard Code for Information Interchange ...
- 关于MySQL查询优化 の 30条忠告
撸自:http://www.jincon.com/archives/120/ 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避 ...
- Asp.net获取网站绝对路径的几种方法
在编写ASP.NET应用程序的时候,有时候为了更好的进行控制静态文件的路径,以及网站部署过程中的虚拟路径等问题,采用绝对路径避免资源出现Not Found,下面先看看几种获取绝对路径的方法: 1. 以 ...