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