@permission_required
我试图限制用户通过 decorator查看模型。也就是说,在管理面板中,我删除了用户权限中的字段storehouse | Форма | Can view Форма
但它会引发错误'StorehouseHomeView' object has no attribute 'user'
视图.py
from django.contrib.auth.decorators import permission_required
class StorehouseHomeView(ListView):
model = Storehouses
template_name = 'storehouse/storehouse_list.html'
context_object_name = 'storehouse'
@permission_required('storehouse.view', raise_exception=True)
def get_context_data(self, *, object_list=None, **kwargs):
context = super().get_context_data(**kwargs)
return context
将视图本身包装在这样的装饰器中:
storehouse_home_view
并在网址中使用它。这个错误告诉你装饰器
permissions_required
需要一个request
,它不在函数中get_context_data
。如果没有请求,就没有用户数据。这是关闭的链接。关于装饰类视图的文档。