Как отключить виджет «Последние действия» из интерфейса администратора Django? - PullRequest
5 голосов
/ 13 июля 2011

Я не хочу показывать виджет недавних действий на сайте администратора django. Я не знаю, как это сделать.

1 Ответ

6 голосов
/ 13 июля 2011

Вы можете переопределить шаблон admin/index.html, чтобы отключить отображение.Есть блок боковой панели, который вы можете изменить / удалить.

Условное включение или отключение действий ModelAdmin.get_actions (запрос) Наконец, вы можете условно включать или отключать действия для каждого запроса (и, следовательно, для каждого пользователя) путем переопределения ModelAdmin.get_actions ().

Возвращает словарь разрешенных действий.Ключи - это имена действий, а значения - кортежи (function, name, short_description).

В большинстве случаев вы будете использовать этот метод для условного удаления действий из списка, собранного суперклассом.Например, если бы я только хотел, чтобы пользователи, чьи имена начинаются с 'J', могли массово удалять объекты, я мог бы сделать следующее:

class MyModelAdmin(admin.ModelAdmin):
    ...

    def get_actions(self, request):
        actions = super(MyModelAdmin, self).get_actions(request)
        if request.user.username[0].upper() != 'J':
            del actions['delete_selected']
        return actions

Я отредактировал ответ, который вы можете найти больше как это наhttps://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/

...