• jango中间件的使用


    在用django写项目时,项目中经常会有地方要判断用户是否登陆。不做特殊处理每次都要去session,cookie中取了做判断,

    可以利用django中间件设置黑白路由名单,进行判断,代码简单,写一次就可以了。

    #  用户登陆验证及操作时的的白名单设置,中间件。

    from django.utils.deprecation import MiddlewareMixin
    from lib.http import render_json
    from common import errors
    from user.models import User

    # 很多地方都会用到user.id,所以把这个做成一个全局的。
    class AuthMiddleware(MiddlewareMixin): # 记得在setting中配置好'common.moddleware.AuthMiddleware'(commom是这个文件所在的文件夹)
    white_list = [
    '/api/user/vcode',
    '/api/user/login',
    ]
    def process_request(self, request):
    #检查当前path是否是白名单内
    if request.path in self.white_list:
    return
    #用户登陆验证
    uid = request.session.get('uid')
    if uid is None:
    return render_json(None,errors.LoginRequire.code)
    else:
    try:
    user = User.objects.get(id=uid)
    except User.DoesNotExist:
    return render_json(None,errors.UserNotExits.code)
    else:
    # 将user 对象添加到request身上
    request.user = user
  • 相关阅读:
    day4递归原理及实现
    day4装饰器
    day4迭代器&生成器&正则表达式
    open()函数文件操作
    Python中的内置函数
    function(函数)中的动态参数
    copy深浅拷贝
    collections模块
    set集合
    字典dict常用方法
  • 原文地址:https://www.cnblogs.com/mumu1/p/12708424.html
Copyright © 2020-2023  润新知