码迷,mamicode.com
首页 > 其他好文 > 详细

Django在CBV中使用,用户登录验证组件

时间:2018-07-22 17:06:11      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:war   *args   edm   登录验证   elf   执行   code   isp   访问   

源地址:https://blog.csdn.net/Jamin2018/article/details/79047703

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/))

 

Django在CBV中使用,用户登录验证组件

标签:war   *args   edm   登录验证   elf   执行   code   isp   访问   

原文地址:https://www.cnblogs.com/wtil/p/9350291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!