問題

プロダクションでは、スーパーユーザーやスタッフのためだけにアクセスできるようにDjango管理インターフェイスが必要です。ログインしていないときを含む他のすべてのタイプのユーザーの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
 

  同じタグがついた質問を見る

pythondjangodjango-admin