python3之天天生鲜项目(初学者)5@login_required装饰器

python

只允许登录的用户访问

方案一:

  • Django用户认证系统提供的方法request.user.is_authenticated()来完成

方案二:

  • Django用户认证系统提供的装饰器@login_required来完成
  • 该装饰器作用于函数视图
  • 如果要对类视图使用该装饰器,需要额外处理

from django.conf.urls import url

from users import views

urlpatterns = [

url(r"^address", views.AddressView.as_view(),name="address"),

]

 重调  重写父类方法

from django.contrib.auth.decorators import login_required

from django.views import View

class LoginRequired(View):

"""装饰器:用于验证用户是否登陆"""

@classmethod

def as_view(cls, **initkwargs):

view = super().as_view() # 继承重调、重写父类方法

return login_required(view)

问题来了:

 找不到  那是需要配置 settings.py

#用于指定装饰器@login_required验证失败后跳转到的路径
LOGIN_URL = "/users/login/"

或者:

  return login_required(view,login_url="/users/login/")

以上是 python3之天天生鲜项目(初学者)5@login_required装饰器 的全部内容, 来源链接: utcz.com/z/530845.html

回到顶部