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

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

也就是说,每一个请求都是先通过中间件中的 process_request 函数,这个函数返回 None 或者 HttpResponse 对象,如果返回前者,继续处理其它中间件,如果返回一个 HttpResponse,就处理中止,返回到网页上。

 
1
2
3
4
MIDDLEWARE_CLASSES 
= 
(
    
'zqxt.middleware.BlockedIpMiddleware'
,
    
...其它的中间件
)

Django 会从 MIDDLEWARE_CLASSES 中按照从上到下的顺序一个个执行中间件中的 process_request 函数,而其中 process_response 函数则是最前面的最后执行。

来源: 
中间件
 
#项目 zqxt 文件名 zqxt/middleware.py
 
class 
BlockedIpMiddleware(
object
):
 
中间件继承object
class 
BlockedIpMiddleware(
object
):
    
def 
process_request(
self
, request):
        
if 
request.META[
'REMOTE_ADDR'
in 
getattr
(settings, 
"BLOCKED_IPS"
, []):
            
return 
http.HttpResponseForbidden(
'<h1>Forbidden</h1>'
)
在def process_reqeuest当中定义,注意传入参数reqeust
 
 
 
 
 

转载于:https://www.cnblogs.com/wuqingzangyue/p/5749431.html

你可能感兴趣的文章
mybatis if-else(写法)
查看>>
apache 虚拟主机详细配置:http.conf配置详解
查看>>
ON DUPLICATE KEY UPDATE
查看>>
SRA秘钥生成与解密
查看>>
Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考) - 推荐
查看>>
JSON.parseObject(String str)与JSONObject.parseObject(String str)的区别
查看>>
Word中摘要和正文同时分栏后,正文跑到下一页,怎么办?或Word分栏后第一页明明有空位后面的文字却自动跳到第二页了,怎么办?...
查看>>
android JNI调用(Android Studio 3.0.1)(转)
查看>>
元类型与类型的区别
查看>>
【Android Studio安装部署系列】目录
查看>>
长生生物狂犬病疫苗造假
查看>>
牛客网_Go语言相关练习_选择题(2)
查看>>
Spring Boot 静态资源访问原理解析
查看>>
[Leetcode] Next Permutation
查看>>
美国移民局的I797表原件和I129表是什么呢
查看>>
jqGrid + JSON + WebService 完整示例
查看>>
Delphi工具之TDUMP
查看>>
ASP.NET笔记(三)
查看>>
QEvent Class Reference
查看>>
转:探索 AIX 6:在 AIX 6 上配置 iSCSI Target
查看>>