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

    # 导入中间件
    from django.utils.deprecation import MiddlewareMixin
    from django.shortcuts import redirect
    
    
    # 继承MiddlewareMixin
    class LoginMiddleWare(MiddlewareMixin):
        # 进路由对应的方法之前
        def process_request(self, request):
    
            # 正常就返回None
            if request.path in ["/login/", "get_img"]:
                return None
    
            if not request.user.id:
                return redirect("/login/")

    Request预处理函数: process_request(self, request)

    View预处理函数: process_view(self, request, callback, callback_args,callback_kwargs) 

    Template模版渲染函数:process_template_response()

    Exception后处理函数:process_exception(self, request, exception)

    process_exception() 应当返回None或HttpResponse对象。 

    Response后处理函数:process_response(self, request, response)

     

    # 在settings中的MIDDLEWARE添加
    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.utils.middlewares.LoginMiddleWare",
    ]
  • 相关阅读:
    JavaScrip(二)JavaScrip语法基础
    JavaScrip(一)JavaScrip的写法
    MySQL远程登陆
    JavaScript简介
    Fedora防火墙配置
    sqlalchem表关联(一对多,一对一,多对多)
    常见的SQLALCHEMY列类型
    flask使用配置文件
    算法(一)概述
    pom
  • 原文地址:https://www.cnblogs.com/ls1997/p/11261195.html
Copyright © 2011-2022 走看看