Django后端开发——中间件

文章目录


参考资料

B站网课:点击蓝色字体跳转

或复制链接至浏览器:https://www.bilibili.com/video/BV1vK4y1o7jH?p=39\&vd_source=597e21cf34ffcdce468ba00be2177e8a


中间件

请求------输入

响应------输出



注册中间件

mysite3-new-directory-middleware

middleware-new-pythonfile-__init__双下划线

middleware-new-pythonfile-mymiddleware

settings.py

c 复制代码
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',
    'middleware.mymiddleware.MyMW',
]

middleware/mymiddleware.py

c 复制代码
from django.utils.deprecation import MiddlewareMixin


class MyMW(MiddlewareMixin):

    def process_request(self,request):

        print('MyMW process_request do ---')

    def process_view(self,request,callback,callback_args,callback_kwargs):

        print('MyMW process_views do ---')

    def process_response(self,request,response):

        print('MyMW process_response do ---')
        return response

mysite3/views.py

c 复制代码
def test_mw(request):
    print('---test_mw view in ---')
    return HttpResponse('--test-mw---')

mysite3/urls.py

c 复制代码
path('test_mw',views.test_mw),

多个中间件的执行顺序:请求时先注册的先执行,响应时先注册的后执行

练习

(持续更新中)


相关推荐
kevinzeng1 分钟前
MVC 和 DDD
后端·领域驱动设计
爱写代码的小朋友5 分钟前
Python局域网远程监控电脑屏幕实现
python·flask·python监控电脑屏幕
岚天start5 分钟前
Java程序生成Heap Dump堆内存快照文件的多种方法
开发语言·python·pycharm
兆。9 分钟前
python全栈-人工智能基础-机器学习
人工智能·python·机器学习
一只叫煤球的猫10 分钟前
从 JDK1.2 到 JDK21:ThreadLocal的进化解决了什么问题
java·后端·面试
深度学习lover27 分钟前
<项目代码>yolo遥感航拍船舶识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·遥感船舶识别
BingoGo39 分钟前
PHP8.6 新的 RFC 提案 Context Managers 优雅管理资源生命周期
后端·php
南雨北斗1 小时前
kotlin抽象类(与接口的区别)
后端
8***B1 小时前
Python机器学习库Scikit-learn使用
python·机器学习·scikit-learn
sino爱学习1 小时前
Arthas 线上常用命令速查手册:Java 诊断神器,5 分钟定位线上问题!
后端