从 Django 管理员中删除历史按钮

ofn*_*ere 6 python django django-admin django-simple-history

我想根据用户类型启用/禁用来自 django 管理按钮的历史记录。

在此处输入图片说明

我的最终目标是能够了解如何显示隐藏此按钮。

Tar*_*syk 5

不幸的是,Django 没有提供一种简单的方法来切换历史按钮,就像它为“添加”按钮所做的那样。最简单的方法是覆盖change_form.html并从block object-tools-items以下行中删除:

<li>
        {% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %}
        <a href="{% add_preserved_filters history_url %}" class="historylink">{% trans "History" %}</a>
</li>
Run Code Online (Sandbox Code Playgroud)

请记住,您必须change_form为每个管理模型指定。例子:

class TestAdmin(admin.ModelAdmin):
    # path to the app_name/templates/admin/app_name/change_form.html
    change_form_template = 'admin/app_name/change_form.html'

# Register your models here.
admin.site.register(Test, TestAdmin)
Run Code Online (Sandbox Code Playgroud)