django中间键重定向实例方法

yipeiwu_com5年前Python基础

1,定义和注册中间件

在注册的中间件中使用:

from django.http import HttpResponseRedirect

'''下面的书写方法会陷入死循环,所以必须加判断条件只调用一次'''

def process_request(self,request):

return HttpResponseRedirect('/QQ/test') #可写网站,也可写本地的相对路径

2,若要判断是否包含session,写判断时要注意上述方法在重定向会再调用一次,所以必须加判断使重定向只被调用一次,否则会陷入死循环

 内容扩展

DJANGO中多种重定向方法使用

redirect和reverse

from django.core.urlresolvers import reverse 
from django.shortcuts import redirect 
#https://docs.djangoproject.com/en/1.8.2/topics/http/shortcuts/ 

@login_required 
def update_time(request): 
  #进行要处理的逻辑 
  return redirect(reverse('test.views.invoice_return_index', args=[])) #跳转到index界面 

redirect 类似HttpResponseRedirect的用法,也可以使用 字符串的url格式 /..index/?a=add
reverse 可以直接用views函数来指定重定向的处理函数,args是url匹配的值。

其他

其他的也可以直接在url中配置
from django.views.generic.simple import redirect_to 
在url中添加 (r'^test/$', redirect_to, {'url': '/author/'}), 

#我们甚至可以使用session的方法传值
request.session['error_message'] = 'test' 
redirect('%s?error_message=test' % reverse('page_index')) 
#这些方式类似于刷新,客户端重新指定url。

以上就是本次介绍的全部知识点内容,感谢大家的学习和对【听图阁-专注于Python设计】的支持。

相关文章

浅谈Python中的数据类型

数据类型: float — 浮点数可以精确到小数点后面15位 int — 整型可以无限大 bool — 非零为true,零为false list — 列表 Float/Int: 运...

python如何统计序列中元素

本文实例为大家分享了python统计序列中元素的具体代码,供大家参考,具体内容如下 问题1:        随机数列[12,5...

详解Python中正则匹配TAB及空格的小技巧

在正则中,使用.*可以匹配所有字符,其中.代表除\n外的任意字符,*代表0-无穷个,比如说要分别匹配某个目录下的子目录: >>> import re >>...

Python异常处理操作实例详解

本文实例讲述了Python异常处理操作。分享给大家供大家参考,具体如下: 常见异常 在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对...

Python面向对象编程基础解析(一)

1.什么是面向对象 面向对象(oop)是一种抽象的方法来理解这个世界,世间万物都可以抽象成一个对象,一切事物都是由对象构成的。应用在编程中,是一种开发程序的方法,它将对象作为程序的基本...