这是我的 1 个模型的管理页面目前的样子:
我想在 Add note
按钮旁边添加一个按钮,这将允许我执行 django 操作。有什么办法可以完成吗?我只想要按钮扫描笔记并删除空的,但那部分我可以解决。我只想知道如何在 Add note
旁边添加一个按钮,以便将其链接到 django。
感谢您的帮助!
最佳答案
是的,您可以覆盖应用程序的默认模板 ( 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 %}
然后您可以编写一个 View 来实现所需的操作(在您的情况下是扫描和删除笔记)并将其添加到您的 urls.py
使用 name='my_custom_url'
.
不要忘记使用类似以下内容将流程重定向到 View 末尾的管理页面:
return redirect('admin:myapp_mymodel_changelist')
关于python - 向 Django 模型管理页面添加额外按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36232236/