我们在做项目的时候避免不了会遇到登录认证的问题、
这些问题Django 已经可以帮我们提前做好处理了
在函数前加上 @login_required
Django 内置的方法帮我们验证用户是否登录过,当然方法是最基本的认证方式,当我们的逻辑复杂的时候,
这种装饰器就满足不了我们的认证需求,这时候我们可以自己新建一个装饰器
def checkLogin(func): def wrapper(request, *args, **kwargs): userinfo = request.session.get('userinfo', False) if userinfo: username = userinfo.get("username", False) if username: return func(request, *args, **kwargs) else: return redirect('/login/') return wrapper
只需要在 视图前加上 @ 装饰器名 就可以达到登录认证。
当然这两种方式都可以解决登录认证,比较麻烦的是,我们需要在每个 函数前都要进行登录认证
我们可以在 中间件中 做一个登录认证,这样的话,我们每次在请求的时候都去认证一次
详细可参考 :https://blog.csdn.net/weixin_39037804/article/details/102572517