VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • python3 之 天天生鲜 项目(初学者)5 @login_required装饰器

只允许登录的用户访问

方案一:

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

 

 

 

出处:https://www.cnblogs.com/Py-beginner/p/13860920.html


相关教程