更改Django管理员的change_list.html

时间:2019-11-19 16:02:20

标签: python django django-templates django-admin

我想自定义django管理员,因此我将django admin中粘贴的change_list.html复制到了templates/admin/section4/section4/change_list.html下的项目中

现在我已查看并编写了另一个模板:total_review_count.html,在其中扩展了change_list.html

视图中:change_list_template = 'admin/section4/section4/total_review_count.html'

代码:

{% extends "admin/change_list.html" %}
{% load i18n admin_urls %}
{% block result_list %}
<footer style="color:blue;"> <p >The total review upto date: {{ total_review_upto_date}}<br> 
</p>
<p>The total review to be updated: {{ total_review_tobe_updated}}<br></p>
<p>Total review to be added : {{ total_review_tobe_added }}</p>
</footer>

{% endblock %}

但是这样做,我会覆盖所有其他先前的内容,即django管理员默认提供的模型列表,并且只会在此模板中获取该列表。这是覆盖change_list.html的正确方法吗?我如何获得以前的东西?

1 个答案:

答案 0 :(得分:0)

您必须像这样在项目路径中创建目录: myproject / templates / admin (如果这是settings.py中DIRS模板选项中指定的模板设置)并创建此目录中名为change_list.html的新文件。然后,Django将使用它而不是默认值。

此外,您还可以使用这个新的change_list.html模板进行扩展。

有关覆盖和替换默认管理和注册模板的更多参考,请参见:https://docs.djangoproject.com/en/2.2/ref/contrib/admin/->搜索“覆盖管理模板”