2019年4月26日
问题:
基于类的视图使用装饰器
@login_required
时报错
报错代码:
class views:
@login_required
def sign_out_view(self, request):
context = None
return render(request, self.__sign_out_templates, context=context)
pass
报错信息:
AttributeError: 'view' object has no attribute 'user'
参考资料:
官方文档(基于类的视图)https://docs.djangoproject.com/zh-hans/2.2/topics/class-based-views/intro/
Decorating class-based views
解决办法:
使用
from django.utils.decorators import method_decorator
方法修饰器
改正后代码:
from django.contrib.auth.decorators import login_required
from django.utils.decorators import method_decorator
class views:
@method_decorator(login_required)
def sign_out_view(self, request):
context = None
return render(request, self.__sign_out_templates, context=context)
pass
解决