1

我知道我可以通过创建一个名为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 中使用的正确约定。

4

2 回答 2

0

好的做法是复制原始 admin/base_site.html 并在此处进行调整(编辑标题、品牌、添加{% block extrahead %}{% block extrastyle %}使用您自己的 css/js 等。

管理站点预计不会集成在自定义模板中,但您可以轻松地将样式与您自己的喜好相一致。

于 2012-07-20T08:20:54.993 回答
-2

只需创建一个admin/base.html文件,并将其放入:

{% extends "base.html" %}
# according base.html to the name of your base layout file
于 2012-07-19T21:21:18.510 回答