2012-07-19 53 views
1

我知道我可以通过创建一个名为admin/base.html模板和写作像覆盖管理模板:如何将我的网站的基本模板用于Django管理区域?

<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

只需创建一个管理员/ base.html文件文件,并把这个里面:

{% extends "base.html" %} 
# according base.html to the name of your base layout file 
+0

我知道我可以做到这一点。请阅读整个问题。 – Gelatin 2012-07-19 23:21:09

+0

CSS和JS在管理员基础模板中被硬编码。如果您想要替换管理员布局,唯一的解决方案是扩展您的基础布局,并从管理员基础模板手动重新注册CSS/JS。 – ByScripts 2012-07-20 08:10:41

0

好的做法是复制原始管理员/ base_site.html并在这里进行调整(编辑标题,品牌推广,增加{% block extrahead %}{% block extrastyle %}用自己的CSS/JS等

预计不会管理的网站自定义模板内加以整合,但你可以很容易地相符的风格和自己的喜好。

+0

如果您有页眉,页脚,菜单,选项卡......,可以扩展自己的底座 – 2012-08-24 20:55:28