【问题标题】:Extend django admin template扩展 django 管理模板
【发布时间】:2017-04-10 16:37:57
【问题描述】:

我正在尝试在页面顶部添加对象旁边的 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 中的一个 Action,它可以工作。 我错过了什么吗?

编辑:

已经试过了:

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

也没有用。

【问题讨论】:

标签: python django django-admin django-1.10


【解决方案1】:

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

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

你几乎明白了。 :)

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

【讨论】:

    【解决方案2】:

    将您的模板位置更改为 项目/模板/管理员/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')],
    }]
    

    【讨论】: