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
只需要在 视图前加上 @ 装饰器名 就可以达到登录认证。
当然这两种方式都可以解决登录认证,比较麻烦的是,我们需要在每个 函数前都要进行登录认证
我们可以在 中间件中 做一个登录认证,这样的话,我们每次在请求的时候都去认证一次
|