我正在使用这个装饰器使这个页面仅供员工使用:
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
但出于某种原因我得到:
AttributeError: 'MyModelAdmin' 对象没有属性 'user'
没有装饰器, View 工作正常(但任何人都可以看到)。
最佳答案
您需要使用 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")
关于python - @staff_member_required 正在抛出 "object has no attribute ' 用户'”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40855170/