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

    什么是中间件:中间件是一个处理Django的请求和响应的框架级别的钩子.

    中间件的本质:在Django中就是一个类,在全局范围内改变Django的输入和输出.

                         Django请求流程图

    中间件的五个方法:

            process_request(self,request)

            执行时间:  在视图函数执行之前

            参数:    request  跟视图函数中的是同一个

            执行顺序:  按照注册顺序  顺着执行

            返回值:  None  正常流程

                HttpResponse对象:

                        不执行后面中间件中的process_request方法,不执行视图函数,

                        直接执行当前中间件中的process_response方法,后面正常走.

           process_response(self,request,response)

           执行时间:在视图函数执行之后

           参数:request    跟视图函数中的是同一个

             response    视图函数中传递的响应对象

           执行顺序:按照注册顺序  倒叙执行

           返回值:HttpResponse对象:  必须是响应对象

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

           执行时间:在process_request方法之后,在视图函数执行之前

           参数:request  跟视图函数中的是同一个

                 view_func  视图函数

                 view_args  视图函数的位置参数

                 view_kwargs  视图函数的关键字参数

           执行顺序:按照注册顺序  顺着执行

           返回值:  None  正常流程

               HttpResponse对象:不执行后面中间件中的process_view方法,不执行视图函数,直接执行最后一个中间件中的process_response方法,后面正常走

           process_exception(self,request,exception)

           执行时间:出现异常的时候才执行

           参数:  request  跟视图函数中的是同一个

                exception  异常对象

           执行顺序:  按照注册顺序  倒叙执行

           返回值:  None  正常流程

               HttpResponse对象:不执行后面中间件中的process_exception方法,直接执行最后一个中间件中的process_response方法,后面正常走

           process_template_response(self,request,response)

           执行时间:视图函数返回的response对象有一个叫render的方法

           参数:request  跟视图函数中的是同一个

              response  视图函数中传递的响应对象

           执行顺序:按照注册顺序  倒叙执行

           返回值:必须返回response对象

             

               

  • 相关阅读:
    Cloud7为全球移动互联网大会提供手机门户支撑 开源CMS
    揭东县信息中心采用We7站群管理系统重新架构揭东县政务网 开源CMS
    中国计算机报:We7云计算重塑政府门户网站群 开源CMS
    We7网站群系统全新打造辽宁省民政厅网站群平台 开源CMS
    We7网站群为华中科技大学同济医学院附属同济医院提供专业网... 开源CMS
    sso实现原理解析
    TDSQL | DB·洞见回顾|基于LSMTree存储的数据库性能改进
    又拿奖了!腾讯云原生数据库TDSQLC斩获2021PostgreSQL中国最佳数据库产品奖
    为云而生,云原生数据库TDSQLC技术突破与演进
    金融级数据库新坐标:腾讯云TDSQL发布全自研新敏态引擎
  • 原文地址:https://www.cnblogs.com/leo-tail-x/p/10098634.html
Copyright © 2011-2022 走看看