扩展 django 管理模板

Extend django admin template

我正在尝试在 change_list django 管理页面顶部添加对象旁边添加一个自定义按钮。

{% extends "admin/change_list.html" %} 
{% load i18n %} 
{% block object-tools-items %}
{{ block.super }}
<li>
    <button class="" href="...">Click Here!</button>
</li>
{% endblock %}

我遵循了很多教程但没有成功。 我的 settings.py 中有 'APP_DIRS': True,,我的项目是这样的:

project/
    app/
        templates/
            change_list.html
            custom_template.html

custom_template.html 是 change_list 中的一个动作,并且有效。 我错过了什么吗?

编辑:

已经尝试过:

project/app/templates/admin/change_list.html project/app/templates/app/admin/change_list.html

也没用。

change_list.html 覆盖文件位于此位置:

project/app/templates/admin/app/change_list.html

你快明白了。 :)

您也可以使用 django-debug-toolbar 并获取在浏览器端上传的实际模板。

将您的模板位置更改为 project/templates/admin/change_list.html

在模板中'change_list.html'写入

{% extends 'admin/base.html' %}
{% block branding %}
<h1 id="site-name">My custom Admin</h1>
{% endblock %}

并在 setting.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
TEMPLATES = [
{
    'DIRS': [os.path.join(BASE_DIR, 'templates')],
}]