zoukankan      html  css  js  c++  java
  • Django自定义--中间件

    自定义中间件

    • process_request(self, request)

    • process_response(self, request, response)

    • process_view(self, request, view_func, view_args, view_kwargs)

    • process_exception(self, request, exception)

    • 返回None,继续处理,返回HttpResponse,就结束

    • 中间件配置:来时从上往下,走势从下往上

    MIDDLEWARE_CLASSES = (
                'middleware',
                ......
            )
    
    • 老版中间件
    class CommonMiddleware(object):
            def process_request(self, request):
                return None
    
            def process_response(self, request, response):
                return response
    
    • 新版中间件
    class SimpleMiddleware(object):
            def __init__(self, get_response):
                self.get_response = get_response
    
            def __call__(self, request):
                # 调用 view 之前的代码
    
                response = self.get_response(request)
    
                # 调用 view 之后的代码
    
                return response
    
    • 兼容版
    try:
        from django.utils.deprecation import MiddlewareMixin  # Django 1.10.x
    except ImportError:
        MiddlewareMixin = object  # Django 1.4.x - Django 1.9.x
     
    class SimpleMiddleware(MiddlewareMixin):
        def process_request(self, request):
            pass
        def process_response(request, response):
            pass
    
  • 相关阅读:
    查看 lib 库信息
    评委打分(C++ 容器综合练习)
    二阶段12.16
    对搜狗输入法的使用心得
    二阶段12.14
    二阶段12.13
    二阶段12.12
    典型用户描述
    水王(课堂练习)
    一阶段11.21
  • 原文地址:https://www.cnblogs.com/wj5633/p/7072011.html
Copyright © 2011-2022 走看看