Auth登录装饰器

Posted pengsq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Auth登录装饰器相关的知识,希望对你有一定的参考价值。

#第一种方式
#在url里
from django.contrib.auth.decorators import lgoin_required

    urlpatterns = [
      path(‘‘,lgoin_required(UserInfoView.as_view()),name=‘user‘),#用户中心-信息页
      path(‘order‘,lgoin_required(UserOrderView.as_view()),name=‘order‘),#用户中心-订单页
      path(‘address‘,lgoin_required(UserAddressView.as_view()),name=‘address‘),#用户中心地址页       
]
#第二种方式
from django.contrib.auth.decorators import login_required

class LoginRequireMixin(object):
    @classmethod
    def as_view(cls,**initkwargs):    #该方法是as_view()
        #调用父类的as_view()    
        view=super(LoginRequireMixin,cls).as_view(**initkwargs)
        return login_required(view)

#需要使用登录装饰器的视图直接先继承该类OK
class UserInfoView(LoginRequireMixin,View):
    pass

#需要再setting配置登录的URL
#配置登录的url地址
LGOIN_URL = ‘/user/login‘

#url不变

  




以上是关于Auth登录装饰器的主要内容,如果未能解决你的问题,请参考以下文章

django的权限认证:登录和退出。auth模块和@login_required装饰器

python装饰器练习

python装饰器用户验。根据不同的帐号类,不同的登录方式

每日一练装饰器

20 Auth认证模块

auth模块