博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django中间件
阅读量:4638 次
发布时间:2019-06-09

本文共 1110 字,大约阅读时间需要 3 分钟。

django

中间件(Middleware)
存在与request和response之间,
激活中间件(activating middleware)
在django项目的settings.py文件中将你的中间件添加到 MIDDLEWARE_CLASSES

MIDDLEWARE_CLASSES = (

    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)

在request的处理过程中,middleware的调用时从上往下的,在response的处理过程中,则是自下往上的。

django的安装和运行不需要任何middleware。

 

编写自己的中间件:

每个中间件都是一个简单的python类,类中定义了很多如下的方法:

process_request(self,request)

在django决定调用哪个视图函数之前

需要返回一个值,可以是None或者HttpResponse对象。如果返回None,则继续执行。如果返回HttpResponse对象,则停止执行,返回HttpResponse对象。

process_view(self,request,view_func,view_args,view_kwargs)

view_func是django选择的视图处理函数(是一个函数对象,而不是一个简单的字符串),而最后两个则是非关键字参数和关键字参数。

它会在调用视图函数之前调用。也是返回None或者HttpResponse对象

process_template_response(self,request,response)

在render()调用之后,模板调用之前。

process_response(self,request,response)

始终会被调用,在响应时被第一个调用。

process_exception(self,request,exception)

在异常视图函数调用前调用

 

转载于:https://www.cnblogs.com/chenjianhong/archive/2012/04/28/4145092.html

你可能感兴趣的文章
spring+mybatis 报Could not load driverClass ${jdbc.driverClass}
查看>>
【调试】路由器设置不了静态IP -- clwu
查看>>
iOS开发下载文件速度计算
查看>>
jsfl笔记
查看>>
HDU - 3038 How Many Answers Are Wrong(带权并查集)
查看>>
jquery之json数据操作
查看>>
查找一个字段所处的数据库及表
查看>>
第一周学习进度+四则运算1.0版
查看>>
baba 运动网
查看>>
for循环小练习
查看>>
JAE京东云引擎Git上传管理代码教程和京东云数据库导入导出管理
查看>>
教你如何迅速秒杀掉:99%的海量数据处理面试题
查看>>
高血压吃什么好?
查看>>
Java for LeetCode 047 Permutations II
查看>>
React工作原理
查看>>
JS 获取当前时间
查看>>
bzoj3238 [Ahoi2013]差异
查看>>
Lnmp一键脚本
查看>>
DeepIn music install
查看>>
Apple Pay的快速实现
查看>>