プライマリ管理サイトの機能のサブセットを提供する 2 つ目の管理サイトを実装したいと考えています。それは可能であり、Django docsで説明されています
ただし、プライマリ管理サイトへのアクセスを制限したいと考えています。一部のユーザーは、2 次サイトにはアクセスできますが、1 次サイトにはアクセスできません。
その機能を実装するには、これらのユーザーをスタッフに含めないようにして (is_staff=False)、AdminSite.has_permission
class SecondaryAdminSite(AdminSite):
def has_permission(self, request):
if request.user.is_anonymous:
try:
username = request.POST['username']
password = request.POST['password']
except KeyError:
return False
try:
user = User.objects.get(username = username)
if user.check_password(password):
return user.has_perm('app.change_onlythistable')
else:
return False
except User.DoesNotExist:
return False
else:
return request.user.has_perm('app.change_onlythistable')
残念ながら、このアプローチは機能しません。ユーザーはログインできますが、セカンダリ管理サイトには何も表示されません。
このアプローチの何が問題なのですか? この機能を実装する方法はありますか?
前もって感謝します