Django是python中使用最广泛的框架,我们在开发Django应用的时候,经常遇到某些页面需要用户登录后才能访问,如个人中心,实现的逻辑就是简单地判断当前用户的登录状态而已。
一、开发应用场景需求:
- 在用户进行访问系统特定页面时,对用户进行登录校验,只有登录认证过才准许其访问
- 当校验用户未登录状态,跳转至登录页面进行登录,登录后能够跳转用户初始访问的页面,保证用户体验的良好性
二、Django实现方法有2个:
三、login_required实现方法:
login_required 实现方法比较简单,具体代码如下:
<code>#seting文件
LOGIN_URL = '/user/login/'
#view文件
from django.contrib.auth.decorators import login_required
@login_required
def my_view(request):
pass/<code>
四、自定义登陆状态校验器
1、先写check_login装饰器
<code>from django.http import HttpResponseRedirect
def check_login(fn):
def wrapper(request,*args,**kwargs):
if request.session.get('IS_LOGIN', False):
return fn(request,*args,*kwargs)
else:
# 获取用户当前访问的url,并传递给/user/login/
next = request.get_full_path()
red = HttpResponseRedirect('/user/login/?next=' + next)
return red
return wrapper/<code>
2、接下来,我们需要在,需要的view控制器里面加上装饰器了
好了,接下来,就去尝试了。大概就这么多,有问题欢迎留言,后续会分享更多Django方面的应用,有兴趣可关注下哈。
閱讀更多 迷神筆記 的文章