python - 中间件 验证用户登录
1. 建立文件夹 创建文件 auth.py
from django.utils.deprecation import MiddlewareMixin from django.shortcuts import redirect '''中间件''' class AuthMiddleware(MiddlewareMixin): def process_request(self, request): # 排除直接访问页面 if request.path_info == '/login/': return print('Auth 进来了1 ') # 1 .读取当前用户信息 info_dict = request.session.get('info') if info_dict: return # 没有登录信息 return redirect('/login/')
2. 使用中间件
setting.py 注册中间价 app.middleware.auth.AuthMiddleware | 文件夹: middleware: - 文件名称:auth | 类 : AuthMiddleware
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', 'app.middleware.auth.AuthMiddleware', ]