【问题标题】:Add custom button near Save button Django-admin在保存按钮 Django-admin 附近添加自定义按钮
【发布时间】:2021-07-31 10:57:23
【问题描述】:
我在 django admin 中添加了一个自定义按钮,但是它在 Save 和 Save and Close 按钮下方,我怎样才能使这个自定义按钮与上面的2个按钮,下面是图片:
然后,我如何用模板覆盖按钮:
{% extends 'admin/custominlines/change_form.html' %}
{% load i18n %}
{% block submit_buttons_bottom %}
{{ block.super }}
{% if request.GET.edit %}
<div class="submit-row">
{% for obj in transitions %}
<input type="submit" value="{{ obj }}" name="{{ obj }}">
{% endfor %}
</div>
{% endif %}
{% endblock %}
【问题讨论】:
标签:
python
django
django-templates
django-admin
【解决方案1】:
Django 的每一行都有一个<div class="submit-row">。您正在添加一个新行。您需要做的是将您的按钮放在与 Django 相同的div 中。这是 Django 的代码修改为拥有您的按钮。
{% load i18n admin_urls %}
<div class="submit-row">
{% block submit-row %}
{% if show_save %}<input type="submit" value="{% trans 'Save' %}" class="default" name="_save">{% endif %}
{% if show_delete_link and original %}
{% url opts|admin_urlname:'delete' original.pk|admin_urlquote as delete_url %}
<p class="deletelink-box"><a href="{% add_preserved_filters delete_url %}" class="deletelink">{% trans "Delete" %}</a></p>
{% endif %}
{% if show_save_as_new %}<input type="submit" value="{% trans 'Save as new' %}" name="_saveasnew">{% endif %}
{% if show_save_and_add_another %}<input type="submit" value="{% trans 'Save and add another' %}" name="_addanother">{% endif %}
{% if show_save_and_continue %}<input type="submit" value="{% if can_change %}{% trans 'Save and continue editing' %}{% else %}{% trans 'Save and view' %}{% endif %}" name="_continue">{% endif %}
{% if show_close %}<a href="{% url opts|admin_urlname:'changelist' %}" class="closelink">{% trans 'Close' %}</a>{% endif %}
{% endblock %}
// Django code above
// Your buttons below
{% for obj in transitions %}
<input type="submit" value="{{ obj }}" name="{{ obj }}">
{% endfor %}
</div>
你最后的代码将如下所示。
{% extends 'admin/custominlines/change_form.html' %}
{% load i18n %}
{% block submit_buttons_bottom %}
<div class="submit-row">
{% if show_save %}<input type="submit" value="{% trans 'Save' %}" class="default" name="_save">{% endif %}
{% if show_delete_link and original %}
{% url opts|admin_urlname:'delete' original.pk|admin_urlquote as delete_url %}
<p class="deletelink-box"><a href="{% add_preserved_filters delete_url %}" class="deletelink">{% trans "Delete" %}</a></p>
{% endif %}
{% if show_save_as_new %}<input type="submit" value="{% trans 'Save as new' %}" name="_saveasnew">{% endif %}
{% if show_save_and_add_another %}<input type="submit" value="{% trans 'Save and add another' %}" name="_addanother">{% endif %}
{% if show_save_and_continue %}<input type="submit" value="{% if can_change %}{% trans 'Save and continue editing' %}{% else %}{% trans 'Save and view' %}{% endif %}" name="_continue">{% endif %}
{% if show_close %}<a href="{% url opts|admin_urlname:'changelist' %}" class="closelink">{% trans 'Close' %}</a>{% endif %}
// Django code above
// Your buttons below
{% for obj in transitions %}
<input type="submit" value="{{ obj }}" name="{{ obj }}">
{% endfor %}
</div>
{% endblock %}