【发布时间】:2011-10-04 04:38:03
【问题描述】:
我不想在 django 管理站点中显示最近的操作小部件。我不知道如何完成。
【问题讨论】:
标签: django django-models django-admin
我不想在 django 管理站点中显示最近的操作小部件。我不知道如何完成。
【问题讨论】:
标签: django django-models django-admin
您可以覆盖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/找到更多类似的答案
【讨论】: