1. 程式人生 > >Auth登錄裝飾器

Auth登錄裝飾器

att 中心 () pytho con pat userinfo rom required

#第一種方式
#在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登錄裝飾器