从 Django 管理中删除历史按钮
Remove history button from Django admin
我想 enable/disable 基于用户类型的 django 管理按钮的历史记录。
我的最终目标是能够理解如何显示隐藏此按钮。
不幸的是,Django 没有提供一种简单的方法来切换历史记录按钮,例如 'Add' 按钮。最简单的方法是覆盖 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>
请记住,您必须为每个管理模型指定 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)
一个干净的解决方案是覆盖 change_form_object_tools.html
template,它需要放在项目的 templates/admin/
中。
{% load i18n admin_urls %}
{% block object-tools-items %}
{% block comment %}
<li>
{% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %}
<a href="{% add_preserved_filters history_url %}" class="historylink">
{% translate "History" %}</a>
</li>
{% endcomment %}
{% if has_absolute_url %}<li><a href="{{ absolute_url }}" class="viewsitelink">{% translate "View on site" %}</a></li>{% endif %}
{% endblock %}
我想 enable/disable 基于用户类型的 django 管理按钮的历史记录。
我的最终目标是能够理解如何显示隐藏此按钮。
不幸的是,Django 没有提供一种简单的方法来切换历史记录按钮,例如 'Add' 按钮。最简单的方法是覆盖 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>
请记住,您必须为每个管理模型指定 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)
一个干净的解决方案是覆盖 change_form_object_tools.html
template,它需要放在项目的 templates/admin/
中。
{% load i18n admin_urls %}
{% block object-tools-items %}
{% block comment %}
<li>
{% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %}
<a href="{% add_preserved_filters history_url %}" class="historylink">
{% translate "History" %}</a>
</li>
{% endcomment %}
{% if has_absolute_url %}<li><a href="{{ absolute_url }}" class="viewsitelink">{% translate "View on site" %}</a></li>{% endif %}
{% endblock %}