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),

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

练习

(持续更新中)


相关推荐
CodeSheep20 分钟前
稚晖君公司的最新工资和招人标准
前端·后端·程序员
ashane131422 分钟前
Springboot 启动过程及源码分析
java·spring boot·后端
不会kao代码的小王25 分钟前
零基础也能搭博客?
linux·windows·后端
程序员爱钓鱼32 分钟前
Python编程实战 - Python实用工具与库 - 爬虫防封与代理机制
后端·python·ipython
程序员爱钓鱼37 分钟前
Python编程实战 - Python实用工具与库 - 操作Excel:openpyxl / pandas
后端·python·面试
后端小张38 分钟前
【JAVA进阶】SpringBoot启动流程深度解析:从main方法到应用就绪的完整旅程
java·spring boot·后端·spring·spring cloud·java-ee·流程分析
猫头虎1 小时前
Rust评测案例:Rust、Java、Python、Go、C++ 实现五大排序算法的执行时间效率比较(基于 OnlineGDB 平台)
java·开发语言·c++·python·golang·rust·排序算法
爱吃烤鸡翅的酸菜鱼1 小时前
【Java】基于策略模式 + 工厂模式多设计模式下:重构租房系统核心之城市房源列表缓存与高性能筛选
java·redis·后端·缓存·设计模式·重构·策略模式
milanyangbo1 小时前
从局部性原理到一致性模型:深入剖析缓存设计的核心权衡
开发语言·后端·缓存·架构
IT_陈寒1 小时前
SpringBoot实战避坑指南:我在微服务项目中总结的12条高效开发经验
前端·人工智能·后端