模型的更改列表中Django Admin的Django额外按钮

时间:2019-11-30 11:25:51

标签: django django-views django-admin

因此,我想在我的Fun模型的changelist_view中添加一个额外的按钮,当按下该按钮时,它会执行功能并将我重定向到新页面。我既不想为每个应用程序都拥有此功能,也不想为每个模型都拥有Fun模型。而且,我将使用Django Admin来查看此更改列表,只是一个注释。

有人可以提出任何建议吗?谢谢。

1 个答案:

答案 0 :(得分:1)

fun / admins.py

中的代码
from django.contrib import admin
from .models import Fun


@admin.register(Fun)
class FunAdmin(admin.ModelAdmin):
    change_list_template = 'fun/admin_changelist.html'

以及 fun / admin_changelist.html 模板:

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

{% block result_list %}
  <a href="{% url 'your-url-name here' %}">The custom button</a>
  {% if action_form and actions_on_top and cl.full_result_count %}{% admin_actions %}{% endif %}
  {% result_list cl %}
  {% if action_form and actions_on_bottom and cl.full_result_count %}{% admin_actions %}{% endif %}
{% endblock %}

完全可以覆盖管理模板,但是不建议完全替换它们;因此,我们将覆盖我们需要的部分(这里假设您的按钮将位于列表的顶部,因此我仅覆盖result_list块)

然后,您应该将URL与name="your-url-name here"连接到视图。

检查文档中的more details