Django 中间件

介绍

在创建完成项目后 会在settings.py 文件下 MIDDLEWARE= [] 列表中有些默认的中间件 官方文档中间件,也可以自定义中间件 将之定义的中间件加到 settings.py 文件下 MIDDLEWARE= []即可 中间件的执行顺序是按照MIDDLEWARE的顺序执行 请求来了先执行所有中间件的process_request 重上到下执行 返回响应的时候 按照MIDDLEWARE配置的顺序从下往上执行 process_response

自定义中间件

from django.utils.deprecation import MiddlewareMixin # 需要导入
from django.shortcuts import HttpResponse


class Mymds(MiddlewareMixin): # 自定义中间件需要继承MiddlewareMixin类

    def process_request(self, request): # 该函数是固定写发 处理请求的
        visit_ip = request.META.get('REMOTE_ADDR')
        if visit_ip in ['127.0.0.11']: # 在这可以做一些逻辑判断 
            return HttpResponse("非法IP") # 返回 返回的时候也是按照顺序


    def process_response(self, request,response): # 该函数是固定写发 处理响应的
        print("MiddlewareMixin response2",response.content)
        response.content = b"ninhao" + response.content
        return response
posted @ 2022-12-08 08:19  zhq9  阅读(8)  评论(0编辑  收藏  举报