zoukankan      html  css  js  c++  java
  • python

    #
    """
    # 中间件的定义:
        wsgi之后,urls.py 之前,在全局操作Django请求和响应的模块
        
    # 中间件的使用:
        1. process_request(self,request)
            执行顺序:
                按照注册的顺序( 在settings.py 中设置从上到下的顺序 )
            执行时间:
                请求从wsgi(解析之后)拿到之后
            返回值:
                返回None,继续执行后续的中间件的process_request方法
                返回response,不执行后续的中间件的process_request方法
                
        2. process_response
            执行顺序:
                按照注册顺序的倒序( 在 settings.py里面设置中 ,从下到上的顺序 )
            执行时间:
                请求有响应的时候    
            返回值:
                必须返回一个request对象
        
        3. process_view(self,request,view_func,view_args,view_kwargs)
            执行顺序:
                按照注册的顺序(settings.py中从上到下)
            执行时间:
                在 urls.py 中找到对应关系后 在执行正在的视图函数之前
            返回值:
                返回None,继续执行后续的中间件的process_view方法
                返回response        
        
        4. process_exception(self,request,exception)
            执行顺序:
                按照注册的倒序(settings.py中从下到上)
            执行时间:
                视图函数中抛出异常才会执行
            返回值:
                返回None,继续执行后续的中间件的process_exception方法
                返回response    
        
        5. process_template_response(self,request,response)
            执行顺序:
                按照注册的倒序(settings.py中从下到上)
            执行时间:
                在视图函数执行完毕后,在执行视图函数返回的响应对象的render方法之前
            返回值:
                返回None,继续执行后续的中间件的process_template_response方法
                返回response  
                
                
        Django调用,注册的中间件里面五个方法的顺序:
            1. process_request
                urls.py
            2. process_view
                view
            3. 如果有异常就执行,process_exception
            4. 如果视图函数返回的响应有render方法,就执行 process_template_response
            5. process_response
    """#
  • 相关阅读:
    Java基础知识强化之IO流笔记39:字符流缓冲流之复制文本文件案例01
    阿里云服务器绕过25端口发邮件
    springboot在lunix后台启动,退出账号也不关闭
    创建Maven项目出错 pom出错
    corn表达式 经典
    开发微信公众号基本配置参数错误
    Spring与ActiveMQ整合
    log4j.properties 打印到控制台 写法
    如何在spring环境中做单元测试
    添加jar包到本地Maven仓库
  • 原文地址:https://www.cnblogs.com/chaoqi/p/10560885.html
Copyright © 2011-2022 走看看