加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Django中间键

发布时间:2020-12-20 13:00:09 所属栏目:Python 来源:网络整理
导读:from django.utils.deprecation import MiddlewareMixin class MyMiddleware(MiddlewareMixin): def process_request(self,request): print( ‘ request ‘ ) def process_response(self,request,response): print( ‘ response ‘ ) #自定义中间件当消息从
from django.utils.deprecation import MiddlewareMixin


class MyMiddleware(MiddlewareMixin):
    def process_request(self,request):
        print(request)

    def process_response(self,request,response):
        print(response)
        #自定义中间件当消息从视图函数返回必须要在中间process_reponse中返回response
        #不然会丢失
        return response
    def process_view(self,view_func,view_args,view_kwargs):
        print(第一个中间件中的视图函数)

配置文件

MIDDLEWARE = [
    django.middleware.security.SecurityMiddleware,django.contrib.sessions.middleware.SessionMiddleware,django.middleware.common.CommonMiddleware,django.middleware.csrf.CsrfViewMiddleware,django.contrib.auth.middleware.AuthenticationMiddleware,django.contrib.messages.middleware.MessageMiddleware,django.middleware.clickjacking.XFrameOptionsMiddleware,app01.mymiddleware.aaa.MyMiddleware
]

django的请求生命周期

?

执行的顺序:

当中间件中都没有process_views函数时

  当有request请求时,先从上到下执行中间件中的process_request函数,执行完接着执行

  视图函数,视图函数执行完就从下到上执行中间件中的process_response函数

  当process_request函数返回None时,中间件往下执行,当返回HttpResponse时,

  这个中间件往下的中间件都不会执行,直接从这个中间件的process_response函数往回执行

?

?

?

?

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读