首页 > 其他分享 >django之中间件

django之中间件

时间:2022-12-21 19:24:08浏览次数:42  
标签:自定义 process middleware 中间件 django response

django中间件

django默认有七个中间件 并且还支持用户自定义中间件
中间件主要可以用于:网站访问频率的校验,用户权限的校验等全局类型的功能需求
    
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',
]

如何自定义中间件:
    1.创建存储自定义中间件代码的py文件或者目录(如果中间件很多)
    2.参考自带中间件的代码编写类并继承
    3.在类中编写五个可以自定义的方法

中间件之process_request

1.请求来的时候会从上往下一次经过每个注册了的中间件里面的该方法,如果没有则直接跳过
2.如果该方法自己返回了HttpResponse对象那么不再往后执行而是直接原路返回

中间件之process_response

1.响应走的时候会从下往上一次经过每一个注册了的中间件里面的该方法,如果没有则直接跳过
2.该方法两个形参request和response,形参response指代的就是后端想要返回给前端浏览器的数据,该方法必须返回该形参,也可以替换
"""
如果在执行process-request方法的时候直接返回了HttpResponse对象那么会原路放回执行process_response 不是执行所有
"""

标签:自定义,process,middleware,中间件,django,response
From: https://www.cnblogs.com/zhanghong1229/p/16996957.html

相关文章

  • form组建、modelform、中间件
    目录今日内容概要今日内容详细forms组件渲染标签forms组件展示信息forms组件校验补充forms组件参数补充forms组件源码剖析modelform组件django中间件今日内容概要forms......
  • forms组件渲染标签 、forms组件展示信息 、forms组件校验补充、 forms组件参数补充 、
    目录forms组件渲染标签forms组件展示信息forms组件校验补充forms组件参数补充forms组件源码剖析modelform组件django中间件forms组件渲染标签<p>forms组件渲染标签的方式......
  • 彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-JWT和中间件(Middlewar
    前文再续,上一回我们完成了用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。本回......
  • 知识分享-消息中间件详解+rabbitMQ
    知识分享-消息中间件详解+rabbitMQ消息中间件概述消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。应用......
  • django8
    Q查询进阶操作fromdjango.db.modelsimportQq_obj=Q()#1.产生q对象q_obj.connector='or'#默认多个条件的连接是and可以修改为orq_obj.children.append(('......
  • Django
    Basics安装安装及查看Django版本。pipinstalldjangopython-mdjango--version创建项目在目标文件夹下执行:(需要将python/script加入环境变量)django-adminstart......
  • Django框架8
    今日内容概要ajax补充说明多对多三种创建方式django内置序列化组件ORM批量操作数据自定义分页器form组件今日内容详细ajax补充说明主要是针对回调函数args接收......
  • django模型层之models入门篇(Relationship fields)
    先看下models结构:#tournament/models.pyfromdjango.dbimportmodelsclassClub(models.Model):region_choices=[('E','East'),('W','W......
  • django10 分页器与Form组件
    多对多创建第三张表的三种方式#1.全自动创建#优势:自动创建第三张表,并且提供了add,remove,set,clear四种操作与正反向查询#劣势:第三张表无法创建更多的字段,扩展性很......
  • djangoday09
    目录9django一、ajax补充说明二、多对多三种创建方式三、django内置序列化组件(drf前身)四、ORM批量操作数据(ORM操作优化)五、自定义分页器六、form组件9django一、ajax......