2012-07-19 51 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