Django高级应用之中间件(MIDDLEWARE)

一、中间件概述

概述:一个轻量级、底层的插件,可以介入Django的请求和相应

本质:一个python

方法:

__init__:不需要传参数,服务器响应第一个请求的时候自动调用,用于确定是否启用该中间键

process_request(self,request):在执行视图之前被调用(分配url匹配视图之前),每个请求都会调用,返回None或者HttPResponse对象(可以用于反爬虫,封IP

process_view(self,request,view_func,view_args,view_kwargs):调用视图之前执行,每个请求都会调用,返回None或者HttPResponse对象

process_template_response(self,request,response):在视图刚好执行完后调用,每个请求都会调用,返回None或者HttPResponse对象;使用render

process_response:所有相应返回浏览器之前调用,每个请求都会调用,返回HttPResponse对象

process_exception(self,request,exception):当视图抛出异常时会调用,返回HttPResponse对象

执行位置图解:

二、中间件实例

1.创建中间件文件

在根目录下创建MiddleWare文件夹,文件夹内创建myApp文件夹

在此目录下创建myMiddle.py文件

如图:

 

在里面自定义类

from django.utils.deprecation import MiddlewareMixin   #现在所有的中间键都要继承这个

class MyMiddle(MiddlewareMixin):
    def process_request(self,request):
        print('get参数为:',request.GET.get('a'))

2. 使用自定义中间件

配置setting.py文件

MIDDLEWARE中添加路径'MiddleWare.myApp.myMiddle.MyMiddle'


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值