[英]@staff_member_required is throwing “object has no attribute 'user'”
I'm using this decorator to make this page staff-only: 我正在使用此装饰器将此页面设置为仅供员工使用:
class MyModelAdmin(admin.ModelAdmin):
@staff_member_required
def dostuff(self, request):
return HttpResponse("This is secret")
def get_urls(self):
urls = super(MyModelAdmin, self).get_urls()
my_urls = [
url(r"^dostuff/$", self.dostuff)
]
return my_urls + urls
But for some reason I'm getting: 但是由于某种原因,我得到了:
AttributeError: 'MyModelAdmin' object has no attribute 'user'
Without the decorator, the view works fine (but anyone can see it). 没有装饰器,视图可以正常工作(但任何人都可以看到)。
You need to use method_decorator()
: 您需要使用method_decorator()
:
from django.utils.decorators import method_decorator
class MyModelAdmin(admin.ModelAdmin):
@method_decorator(staff_member_required)
def dostuff(self, request):
return HttpResponse("This is secret")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.