zoukankan      html  css  js  c++  java
  • Django中间键

    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,request,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函数往回执行

  • 相关阅读:
    信息的概念
    信息管理学基础
    第一章关键术语
    企业的转变
    国外的信息系统概念
    管理信息系统的基本功能
    人机交互设计-评价输入法-课下作业
    《构建之法》一
    27日进度
    26号进度
  • 原文地址:https://www.cnblogs.com/huikejie/p/11222193.html
Copyright © 2011-2022 走看看