zoukankan      html  css  js  c++  java
  • django中间件

    参考博客:https://www.cnblogs.com/liwenzhou/p/8761803.html

    1. 今日内容

             中间件:http://www.cnblogs.com/liwenzhou/p/8761803.html

            

                       1. URL的白名单 url = ["/xx/", "/oo/", "/haha/"]

                       2. 登陆之后才能访问某些URL    之前使用装饰器

            

             中间件的定义:

                       wsgi之后 urls.py之前 在全局 操作Django请求和响应的模块!

                      

             中间件的使用:

                       5个固定的方法

                                process_request(self, request)

                                         执行顺序:

                                                   按照注册的顺序(在settings.py里面设置中 从上到下的顺序)

                                         何时执行:

                                                   请求从wsgi拿到之后

                                         返回值:

                                                   返回None,继续执行后续的中间件的process_request方法

                                                   返回response , 不执行后续的中间件的process_request方法

                                                  

                                process_response

                                         执行顺序:

                                                   按照注册顺序的倒序(在settings.py里面设置中 从下到上的顺序)

                                         何时执行:

                                                   请求有响应的时候

                                         返回值:

                                                   必须返回一个response对象

                                                  

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

                                         执行顺序:

                                                   按照注册的顺序(在settings.py里面设置中 从上到下的顺序)

                                         何时执行:

                                                   在urls.py中找到对应关系之后 在执行真正的视图函数之前

                                         返回值:

                                                   返回None,继续执行后续的中间件的process_view方法

                                                   返回response,

                                                  

                                process_exception(self, request, exception)

                                         执行顺序:

                                                   按照注册顺序的倒序(在settings.py里面设置中 从下到上的顺序)

                                         何时执行:

                                                   视图函数中抛出异常的时候才执行

                                         返回值:

                                                   返回None,继续执行后续中间件的process_exception

                                                   返回response,

                                                  

                                                  

                                process_template_response(self, request, response)

                                         执行顺序:

                                                   按照注册顺序的倒序(在settings.py里面设置中 从下到上的顺序)

                                         何时执行:

                                         视图函数执行完,在执行视图函数返回的响应对象的render方法之前

                                         返回值:

                                                   返回None,继续执行后续中间件的process_exception

                                                   返回response,

            

            

                       Django调用 注册的中间件里面五个方法的顺序:

                                1. process_request

                                         urls.py

                                2. process_view

                                         view

                                3. 有异常就执行 process_exception

                                4. 如果视图函数返回的响应对象有render方法,就执行process_template_response

  • 相关阅读:
    Codeforces 662D International Olympiad【贪心】
    LightOJ 1236 Pairs Forming LCM【整数分解】
    LightOJ 1341 Aladdin and the Flying Carpet【整数分解】
    LightOJ 1370 Bi-shoe and Phi-shoe【欧拉函数 && 质数】
    SGU 106 The equation【扩展欧几里得】
    unity 第三人称控制移动
    unity Animator做简单的人物动画
    unity 背包系统
    unity 针对UI的射线穿透的两种方式
    用角色控制器控制移动和碰撞
  • 原文地址:https://www.cnblogs.com/geng-xiaoqiaoliushui/p/11230243.html
Copyright © 2011-2022 走看看