Я хотел бы реализовать второй сайт администратора, который предоставляет подмножество функций основного сайта администратора. Это возможно и описано в Django документах
Однако я бы хотел ограничить доступ к основному сайту администратора. Некоторые пользователи могут получить доступ ко второму сайту, но не к первичному сайту.
Чтобы реализовать эту функцию, я бы хотел, чтобы эти пользователи не были в штате (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')
К сожалению, этот подход не работает. Пользователь может войти, но ничего не видит на дополнительном сайте администратора.
Что не так с этим подходом?
Есть идеи, как реализовать эту функцию?
Заранее спасибо