Jor*_*jon 1 python django django-admin
我正在使用此装饰器使此页面仅供员工使用:
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
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,我得到:
AttributeError: 'MyModelAdmin' object has no attribute 'user'
没有装饰器,视图工作正常(但任何人都可以看到它)。
您需要使用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")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
602 次 |
| 最近记录: |