python3之天天生鲜项目(初学者)5@login_required装饰器
只允许登录的用户访问
方案一:
- Django用户认证系统提供的方法
request.user.is_authenticated()
来完成
方案二:
- Django用户认证系统提供的装饰器
@login_required
来完成 - 该装饰器作用于函数视图
- 如果要对类视图使用该装饰器,需要额外处理
from django.conf.urls import urlfrom users import viewsurlpatterns
= [url(r
"^address", views.AddressView.as_view(),name="address"),]
重调 重写父类方法
from django.contrib.auth.decorators import login_requiredfrom django.views import Viewclass 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