这是我的1个模特目前的管理页面:
我想在Add note
按钮旁边添加一个按钮,这样我就可以执行django动作了。我有办法完成这项工作吗?我只是希望按钮扫描笔记并删除空笔记,但那部分我可以解决。我只是想知道如何在Add note
旁边添加一个按钮,以便将其链接到django。
感谢您的帮助!
答案 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')