django中间键重定向实例方法

yipeiwu_com6年前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设计】的支持。

相关文章

django之自定义软删除Model的方法

软删除 简单的说,就是当执行删除操作的时候,不正真执行删除操作,而是在逻辑上删除一条记录。这样做的好处是可以统计数据,可以进行恢复操作等等。 预备知识 Managers Mana...

Python在不同目录下导入模块的实现方法

python在不同层级目录import模块的方法 使用python进行程序编写时,经常会调用不同目录下的模块及函数。本篇博客针对常见的模块调用讲解导入模块的方法。 1. 同级目录下的调用...

Python 异常处理实例详解

一、什么是异常?异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般情况下,在Python无法正常处理程序时就会发生一个异常。异常是Python对象,表示一个错误。...

python调用cmd命令行制作刷博器

复制代码 代码如下:import webbrowser as webimport timeimport os count=0while count<10:  &...

Python pymongo模块常用操作分析

Python pymongo模块常用操作分析

本文实例讲述了Python pymongo模块常用操作。分享给大家供大家参考,具体如下: 环境:pymongo3.0.3,python3 以下是我整理的一些关于pymongo的操作,网上...