python - 如何限制对 Django 管理页面的访问?

标签 python django django-admin

我需要 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/

相关文章:

python - Pandas Dataframe 过滤器不工作,但 str.match() 正在工作

html - 扩展 base.html 后,我的 child html 内容没有显示

django - 在 Django 管理员中,有没有办法显示模型的一对多对象的实际链接列表?

python - 当 type(self) 工作正常时,为什么 Loan 未定义?

python - Django : how to give user/group permission to view model instances for a specified period of time

python - 如何在Python 3.x中的pyserial readline中查找字节数据

python - 在 python 中从 excelsheet 中读取特定的单元格值

python - 快速排序 Python 算法

django - 当前站点是否可以通过模板访问?

python - 如何为单个 URL 参数传递多个值?