1

我有一个模型,我正在使用 Django 管理页面来维护它。我进行了自定义删除操作,因为需要执行一些额外的步骤。这意味着我可以通过自定义视图选择列表并删除。

我遇到的问题是,如果我单击模型的单个实例,您将在其中对其进行编辑,则会有一个删除按钮指向管理员自己的删除 url:

'/admin/myapp/mymodel/31/delete/'

如何使此删除按钮指向我的自定义删除视图,而不是管理员默认值?

4

2 回答 2

2

您可以覆盖submit_line.html文件中的删除 url。该文件可以在/django/contrib/admin/templates/admin/您的 django 安装文件夹中找到。将此文件复制到您的模板文件夹,使其看起来像/your_templates_folder/admin/submit_line.html. 显示删除按钮的行是

{% if show_delete_link %}
    <p class="deletelink-box">
        <a href="{% url opts|admin_urlname:'delete' original.pk|admin_urlquote %}" class="deletelink">
            {% trans "Delete" %}
        </a>
    </p>
{% endif %}

您可以将hrefurl 更改为您选择的删除 url。例如

{% if show_delete_link %}
    <p class="deletelink-box">
        <a href="/your_delete_link/{{ original.pk }}/" class="deletelink">
            {% trans "Deleted" %}
        </a>
    </p>
{% endif %}
于 2013-10-24T13:36:16.320 回答
0

只需在同一个 url 上查看,并将其admin放在 urlconf 之前。

于 2013-10-24T13:53:07.583 回答