【问题标题】:Add extra button to django model admin page向 django 模型管理页面添加额外的按钮
【发布时间】:2016-03-26 06:11:41
【问题描述】:

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

我想在Add note 按钮旁边添加一个按钮,这将允许我执行 django 操作。有没有办法我可以做到这一点?我只想要按钮扫描笔记并删除空的,但那部分我可以解决。我只想知道如何在Add note 旁边添加一个按钮,以便将其链接到 django。

感谢您的帮助!

【问题讨论】:

    标签: python django python-3.x


    【解决方案1】:

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

    {% 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 %}
    

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

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

    return redirect('admin:myapp_mymodel_changelist')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 2015-09-08
      • 2018-08-31
      • 1970-01-01
      • 2012-05-04
      • 2012-03-25
      相关资源
      最近更新 更多