您的位置:首页 > 编程语言 > Go语言

Django-CBV中的用户登录权限验证

2018-01-12 20:03 405 查看
1.CBV模式中,由于View中的视图为类,所有不能像FBV一样使用装饰器,故可以继承一个自定义的类,这个类的功能的验证用户有没有登录,需要登录才能访问这个类

2.utils文件夹中创建mixin_utils.py文件

3..mixin_utils.py代码:

from django.contrib.auth.decorators import login_required
from django.utils.decorators import method_decorator

class LoginRequiredMixin(object):
@method_decorator(login_required(login_url='/login/'))
def dispatch(self,request,*args,**kwargs):
return super(LoginRequiredMixin,self).dispatch(request,*args,**kwargs)


4.View.py函数中,相关类需要验证功能直接继承该类。

# 验证有没有权限,即是否登录
from utils.mixin_utils import LoginRequiredMixin

class CourseInfoView(LoginRequiredMixin,View):

5.当访问这个CourseInfoView类中,会先判断用户有没有登录。有登录才会继续执行。

类似FBV的django自带的装饰器:

@method_decorator(login_required(login_url='/login/'))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: