首页 > 其他分享 >Django 中间件

Django 中间件

时间:2022-12-08 08:22:05浏览次数:56  
标签:自定义 process 中间件 MIDDLEWARE request Django response

目录

介绍

在创建完成项目后 会在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

标签:自定义,process,中间件,MIDDLEWARE,request,Django,response
From: https://www.cnblogs.com/py-zhq/p/16965112.html

相关文章

  • Django--QuerySet
    一、QuerySetAPI数据库接口从数据库中查询出来的结果一般是一个集合,这个集合叫做QuerySet。1.QuerySet创建对象的方法:一共有四种方法方法1Author.objects.crea......
  • 第3章 使用中间件管道处理请求(ASP.NET Core in Action, 2nd Edition)
    本章包括什么是中间件使用中间件服务静态文件使用中间件添加功能组合中间件以形成管道使用中间件处理异常和错误在上一章中,您对完整的ASP.NETCore应用程序进行了......
  • django学习笔记-ORM
    0.安装第三方模块pipinstallmysqlclient1.ORM1.1.创建数据库启动mysql服务自带工具创建数据库createdatabasedemo01DEFAULTCHARSETutf8COLLATEutf8_gene......
  • Django 管理 OpenVPN 账户
    由于公司办公网络不受我们管控,我们日常又需要远程拨入办公网络进行工作的需求,我们就选择了OpenVPN拨入公司网络的方案,为每位开发同事分发一个密钥文件,考虑后期维护的便捷......
  • 在django如何给CBV添加装饰器?
    在Django中,给CBV添加装饰器有几种方式?在类视图中使用为函数视图准备的装饰器时,不能直接添加装饰器,需要使用method_decorator将其转换为适用于类视图方法的装饰器。method......
  • .NetCore【中间件】API文档Swagger
    Swagger为API接口生成文档Core中添加Swaggernuget安装包install-packageSwashbuckle.AspNetCore注册服务publicvoidConfigureServices(IServiceCollections......
  • vue-quill-editor富文本编辑器使用(带图片上传至七牛云,后端为django)
    vue-quill-editor富文本编辑器使用(带图片上传至七牛云,后端为django)1.安装vue-quill-editornpminstallvue-quill-editor-S2.引入到项目中有两种挂载方式:全局挂载......
  • python django shell 更新代码后需要重启
    pythondjango 使用pythonmanage.py shell练习时更改代码后,需要重新打开窗口进行练习TRANSLATEwithxEnglishArabicHebrewPolishBulgarianH......
  • 车载测试系列:自动驾驶中间件SOME/IP
    一、以太网引入汽车2004年,宝马汽车的OBD诊断口采用的是高速CAN总线,速率为500kbit/s,除去CAN协议本身的开销,通过OBD口升级控制器的净升级速度降到200kbit/s。预计到2008年,软件......
  • .NetCore【中间件】跨域CORS
    CORS前后端分离部署需要跨域设置Core中如何设置CORS中间件usingMicrosoft.AspNetCore.Builder;usingMicrosoft.Extensions.DependencyInjection;namespaceThom......