Django—中间件(待更新)

Django中间件

中间件的功能

用户访问频率限制
用户是否是黑名单 白名单
所有用户登录校验
只要是涉及到网址全局的功能 你就应该考虑使用中间件

中间件的使用

django中间件暴露给程序员五个可以自定义的方法(五个方法都是在特定的条件下自动触发的)
    1.新建一个文件夹 里面新建一个任意名称的py文件里面写类 固定继承
    from django.utils.deprecation import MiddlewareMixin
    class MyMiddle(MiddlewareMixin):
    ...
    2.去配置文件注册到中间件配置中 你需要手写字符串的路径
    'app01.mymiddleware.myaabb.MyMiddle1'

需要掌握的

process_request(******):请求来的时候 会从上往下依次经过每一个中间件里面    process_request,一旦里面返回了HttpResponse对象那么就不再往后执行了 会执行同一级别的
process_response:
def process_request(self,request):
print('我是第一个自定义中间件里面的process_request方法')
return HttpResponse("我是第一个自定义中间件里面的HttpResponse对象返回值")  # 直接原地返回
process_response(***):响应走的时候 会从下往上依次进过每一个中间件里面的process_response
def process_response(self,request,response):  # response就是要返回给用户的数据
print("我是第一个自定义中间件里面的process_response方法")
return response

了解的

process_view:路由匹配成功之后执行视图函数之前触发
process_exception:当视图函数出现异常(bug)的时候自动触发
process_template_response:当视图函数执行完毕之后并且返回的对象中含有render方法的情况下才会触发

猜你喜欢

转载自www.cnblogs.com/Sheppard/p/11773158.html