我知道我可以通过创建一个名为admin/base.html
的模板来覆盖管理模板,并编写如下内容:
<h1>Hello!</h1>
{% block content %}
{% endblock %}
但是,我的网站有自己的基本模板(使用内容块的“内容”),我希望将其用于管理网站。除了网站的基础HTML之外,我还需要添加管理CSS和脚本,例如:
<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% static "admin/css/base.css" %}{% endblock %}" />
所以我会用一个继承自我网站基本模板的模板覆盖管理模板。但是,如果我在此模板中定义内容块以插入内容,则会立即由各个管理视图模板覆盖。更改块名称似乎是错误的解决方案,因为它用于管理模板的事实表明它是Django中使用的正确约定。
答案 0 :(得分:0)
好的做法是复制原始的admin / base_site.html并在此进行调整(编辑标题,标记,添加{% block extrahead %}
或{% block extrastyle %}
和您自己的css / js等。
预计管理网站不会集成到自定义模板中,但您可以根据自己的喜好轻松地使用该风格。
答案 1 :(得分:-2)
只需创建 admin / base.html 文件,然后将其放入:
{% extends "base.html" %}
# according base.html to the name of your base layout file