пятница, 15 апреля 2016 г.

Управление доступом в админке Django

В админке Django есть возможность запретить доступ к страницам редактирования отдельных моделей пользователям кроме superuser.

Это делается в admin.py:

Например:

class LogEntryAdmin(admin.ModelAdmin):

    ...

    # Запрет на добавление всегда
    def has_add_permission(self, request):
        return False

    # Запрет на редактирование если пользователь не superuser
    def has_change_permission(self, request, obj=None):
        return request.user.is_superuser and request.method != 'POST'



    # Запрет на удаление всегда
    def has_delete_permission(self, request, obj=None):
        return False

Комментариев нет:

Отправить комментарий