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

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

练习

(持续更新中)


相关推荐
程序员爱钓鱼30 分钟前
Go语言实战案例-判断一个数是否为质数
后端·google·go
程序员爱钓鱼35 分钟前
Go语言实战案例-读取本地文本文件内容
后端·google·go
都叫我大帅哥37 分钟前
Python的Optional:让你的代码优雅处理“空值”危机
python
曾几何时`3 小时前
基于python和neo4j构建知识图谱医药问答系统
python·知识图谱·neo4j
写写闲篇儿5 小时前
Python+MongoDB高效开发组合
linux·python·mongodb
杭州杭州杭州6 小时前
Python笔记
开发语言·笔记·python
路人蛃8 小时前
通过国内扣子(Coze)搭建智能体并接入discord机器人
人工智能·python·ubuntu·ai·aigc·个人开发
qiqiqi(^_×)8 小时前
卡在“pycharm正在创建帮助程序目录”
ide·python·pycharm
Ching·8 小时前
esp32使用ESP-IDF在Linux下的升级步骤,和遇到的坑Traceback (most recent call last):,及解决
linux·python·esp32·esp_idf升级
mCell9 小时前
Go 并发编程基础:从 Goroutine 到 Worker Pool 实践
后端·性能优化·go