Django中间件

Django中间件

中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出

用户----中间件—url—视图

在settings中设置中间件的

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',
    'user.middle_wares.TestMiddleWare'  # 中间件
]

中间件可以定义的四个方法:

process_request(self,request)
process_view(self, request, view_func, view_args, view_kwargs)
process_exception(self, request, exception)
process_response(self, request, response)

中间件自己定义的方法:

from django.middleware.common import MiddlewareMixin
from django.http import HttpResponse
from . import models

class TestMiddleWare(MiddlewareMixin):
    def process_request(self,request):
        #请求来了之后先到这里,根据需求进行请求的分发
        print('中间件-请求之前')
        pass
    def process_response(self,request,response):
        # 拦截返回的
        print('中间件-response')
        return response

    def process_exception(self,request,exception):
        #拦截异常的
        print('出异常了')
        return HttpResponse('异常了')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值