python - 向 Django 模型管理页面添加额外按钮

标签 python django python-3.x

这是我的 1 个模型的管理页面目前的样子:

Screenshot

我想在 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/

相关文章:

python - 将电话号码范围列表转换为前缀列表

python - 导入错误 : cannot import name 'model_to_dot'

django - 为什么 DjangoRF 序列化器 is_valid 是假的?

django - 远程运行时,Django 的内置测试服务器有多危险?

unit-testing - Elasticsearch “get by index”返回文档,而 “match_all”不返回结果

python - `def m_test(x: my_var) -> list:`是什么类型的声明

java - 尽管 python 代码正确,但仍从 nifi ExecuteScript 处理器获取语法错误

Python:按值调用和按对象调用有什么区别?

javascript - 为什么 datetime.strptime 在使用 Django 运行时会抛出错误?

python - 使用 Python 在 MySQL 中从 JSON 对象插入多行