当前位置:网站首页>第八单元 中间件
第八单元 中间件
2022-08-02 14:01:00 【czy1206527605】
一.中间件
是什么
Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,全局修改Django的输入或输出。
干什么
如果你想修改请求,例如被传送到view中的HttpRequest对象。 或者你想修改view返回的HttpResponse对象,这些都可以通过中间件来实现。
在哪里:
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
二.中间件的原理与应用
中间件的原理
常用的钩子方法
process_request(self,request) # django 处理请求之前,会执行该方法
process_response(self, request, response) # django返回响应之后,执行该方法
定义与调用
创建定义中间件位置
自定义的中间件
第一个def
处理请求之前调用这个中间件
第二个def
视图返回相应之后返回这个中间件
三.中间件的注册与使用效果
中间件的注册
中间件的效果
正常的效果

错误的效果
边栏推荐
猜你喜欢

鲲鹏devkit & boostkit

网络安全第二次作业

政策利空对行情没有长期影响,牛市仍将继续 2021-05-19

文件加密软件有哪些?保障你的文件安全

logback源码阅读(二)日志打印,自定义appender,encoder,pattern,converter

stack && queue

【Tensorflow】AttributeError: ‘_TfDeviceCaptureOp‘ object has no attribute ‘_set_device_from_string‘

WeChat Mini Program-Recent Dynamic Scrolling Implementation

Supervision strikes again, what about the market outlook?2021-05-22

Break the limit of file locks and use storage power to help enterprises grow new momentum
随机推荐
VMM是什么?_兮是什么意思
关于C#使用DateTime数据的细节
logback源码阅读(二)日志打印,自定义appender,encoder,pattern,converter
Raft协议图解,缺陷以及优化
微信小程序-最近动态滚动实现
The most complete ever!A collection of 47 common terms of "digital transformation", read it in seconds~
如何选择正规的期货交易平台开户?
redis分布式锁和看门狗的实现
els 长条方块变形条件、边界碰撞判定
RowBounds[通俗易懂]
IDEA打包jar包
二分查找 && 树
The world's largest Apache open source foundation is how it works?
关于密码加密的一点思路
binary search && tree
replay视频播放器_怎么让手机音乐跟视频一起放
你接受不了60%的暴跌,就没有资格获得6000%的涨幅 2021-05-27
drf源码分析与全局捕获异常
CVE-2020-27986(Sonarqube敏感信息泄漏) 漏洞修复
第二届中国Rust开发者大会(RustChinaConf 2021~2022)线上大会正式开启报名