Как в Django Admin добавить право просмотра — view?

Стандартно в django admin есть три правила: создание, редактирование, удаление. Как мне добавить новое - просмотр. VIEW
  • Вопрос задан
  • 842 просмотра
Пригласить эксперта
Ответы на вопрос 1
replytoall
@replytoall
автоматизация автомобильной отрасли
Если я правильно понял вопрос, это можно сделать через группы. Можно написать вот так:
from django.contrib.auth.decorators import user_passes_test

# декоратор для проверки вхождения пользователя request.user в определенную группу
def group_required(*group_names):
    def in_groups(user):
        if user.is_authenticated():
            if user.is_superuser or bool(user.groups.filter(name__in=group_names)):
                return True
        return False
    return user_passes_test(in_groups)

# оборачиваем нужную функцию из views.py в декоратор. Проверяем входит ли пользователь request.user в группу name_of_group
@group_required('name_of_group')
def home(request):
    pass
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы