django 中间件

中间件:

要在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})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值