我需要 Django 管理界面仅供 super 用户和工作人员在生产时访问,并显示所有其他类型用户的 404,包括未登录时。这可能吗?如何实现?
最佳答案
我最终为它编写了一个中间件:
from django.core.urlresolvers import reverse
from django.http import Http404
class RestrictStaffToAdminMiddleware(object):
"""
A middleware that restricts staff members access to administration panels.
"""
def process_request(self, request):
if request.path.startswith(reverse('admin:index')):
if request.user.is_authenticated():
if not request.user.is_staff:
raise Http404
else:
raise Http404
关于python - 如何限制对 Django 管理页面的访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24559531/