如何在Django管理区域使用我的网站的基本模板?

时间:2012-07-19 17:05:48

标签: django

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

2 个答案:

答案 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