如何从Django Admin界面禁用“Recent Actions”小部件?

时间:2011-07-13 04:52:16

标签: django django-models django-admin

我不想在django管理站点中显示最近的操作小部件。我不知道如何完成此操作。

1 个答案:

答案 0 :(得分:5)

您可以覆盖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/

编辑了你可能会发现更多这样的答案