中间件:
要在settings.py文件 中 MIDDLEWARE 里写入中间件配置,一般要写在django自身的下面,有时候根据情况调整
from django.utils.deprecation import MiddlewareMixin
class AuthMiddleware(MiddlewareMixin):
def process_request(): (使用的多)
pass
def process_view():
pass
def process_template():
pass
def process_exception(): (抛异常时才有用)
pass
def process_response(): (使用的多)
pass
例子 :
from django.http import JsonResponse
from django.utils.deprecation import MiddlewareMixin
class AuthMiddleware(MiddlewareMixin):
‘’‘登录检查中间件’’’
white_list = [
‘/’,
‘/api/user/vcode/fetch’,
‘/api/user/vcode/submit’,
]
def process_request(self, request):
# 检查当前用户请求的 path 是否在白名单中
if request.path in self.white_list:
return
# 从 session 中获取 uid,并进行检查
uid = request.session.get('uid')
if isinstance(uid, int) and uid > 0:
request.uid = uid # 将 uid 附加到 request 对象,作为一个属性
else:
return JsonResponse({'code': 1002, 'data': None})