添加额外的按钮到django模型管理页面

时间:2016-03-26 06:11:42

标签: python django python-3.x

这是我的1个模特目前的管理页面:

Screenshot

我想在Add note按钮旁边添加一个按钮,这样我就可以执行django动作了。我有办法完成这项工作吗?我只是希望按钮扫描笔记并删除空笔记,但那部分我可以解决。我只是想知道如何在Add note旁边添加一个按钮,以便将其链接到django。

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

是的,您可以覆盖应用程序的默认模板(change_list.html)。只需在change_list.html文件夹下创建一个名为my_app/templates/admin/my_app/my_model/的文件,该文件包含以下内容:

{% extends "admin/change_list.html" %}
{% load i18n admin_urls %}

{% block object-tools-items %}
  <li>
    <a href="{% url 'my_custom_url' %}" class="addlink">
      {% blocktrans with cl.opts.verbose_name as name %}My Custom Action{% endblocktrans %}
    </a>
  </li>
  <li>
    {% url cl.opts|admin_urlname:'add' as add_url %}
    <a href="{% add_preserved_filters add_url is_popup to_field %}" class="addlink">
      {% blocktrans with cl.opts.verbose_name as name %}Add {{ name }}{% endblocktrans %}
    </a>
  </li>
{% endblock %}

然后,您可以编写一个实现所需操作的视图(根据您的情况扫描和删除注释),并使用urls.py将其添加到name='my_custom_url'

不要忘记使用以下内容将流重定向到视图末尾的管理页面:

return redirect('admin:myapp_mymodel_changelist')