Django2中@login_required的用法

在开发中会遇到这样的需求:即在用户未登录时不对用户开放某些页面,这种需求在Django2中解决办法为:

  • 1.在settings.py中添加:
#settings.py
AUTH_USER_MODEL = 'users.UserProfile'
#这个根据登录URL的不同进行修改
LOGIN_URL="login"
#附:urls.py中的设置:
    path('login/',LoginView.as_view(),name = 'login'),
  • 2.在相应的视图中添加:
from django.contrib.auth.decorators import login_required
# Create your views here.
from django.utils.decorators import method_decorator
@method_decorator(login_required,name='dispatch')

同时解决使用@login_required后出现'function' object has no attribute 'as_view'的问题,解决方案:使用以上的方法

你可能感兴趣的:(Django,python)