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

相关文章

Python中条件选择和循环语句使用方法介绍

同C语言、Java一样,Python中也存在条件选择和循环语句,其风格和C语言、java的很类似,但是在写法和用法上还是有一些区别。今天就让我们一起来了解一下。 一.条件选择语句 Pyt...

基于Python实现的微信好友数据分析

基于Python实现的微信好友数据分析

最近微信迎来了一次重要的更新,允许用户对”发现”页面进行定制。不知道从什么时候开始,微信朋友圈变得越来越复杂,当越来越多的人选择”仅展示最近三天的朋友圈”,大概连微信官方都是一脸的无可奈...

Pytorch保存模型用于测试和用于继续训练的区别详解

保存模型 保存模型仅仅是为了测试的时候,只需要 torch.save(model.state_dict, path) path 为保存的路径 但是有时候模型及数据太多,难以一次性训...

python常用库之NumPy和sklearn入门

python常用库之NumPy和sklearn入门

Numpy 和 scikit-learn 都是python常用的第三方库。numpy库可以用来存储和处理大型矩阵,并且在一定程度上弥补了python在运算效率上的不足,正是因为numpy...

python实现的多任务版udp聊天器功能案例

python实现的多任务版udp聊天器功能案例

本文实例讲述了python实现的多任务版udp聊天器。分享给大家供大家参考,具体如下: 说明 编写一个有2个线程的程序 线程1用来接收数据然后显示 线程2用来检测键盘数据然后通过udp...