2010-06-07 133 views
0

我正試圖在版本1.2.1中覆蓋/擴展Django管理員的頭文件。但是,當我嘗試擴展管理模板並簡單地更改我需要的文檔時:http://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacing-an-admin-template),我遇到了遞歸問題。無法擴展Django 1.2.1管理模板

我有我的項目的模板/管理/目錄下,以

{% extends "admin/index.html" %} 

開始index.html文件,但是似乎這是引用本地索引文件(又名本身)而不是默認的Django副本。我想擴展默認的Django模板,只需更改幾個塊。當我嘗試這個文件時,我得到了遞歸深度錯誤。

如何擴展管理員的部分內容?謝謝。

解決方案:我不是擴展,而是將文件複製到my_templates_directory/admin /中,並按照我的意願編輯它們。這個解決方案是可以接受的,但不是很理想

回答

0

解決方案:我不是擴展,而是將這些文件複製到my_templates_directory/admin /中,然後按照我的意願編輯它們。這個解決方案是可以接受的,但不是很理想

2

contrib/admin/templates/admin路徑需要在你的TEMPLATE_DIRS路徑列表與您的自定義管理模板目錄之前去您的settings.py

+0

我在TEMPLATE_DIRS的項目模板目錄中放置了「C:/ Python26/Lib/site-packages/django/contrib/admin/templates/admin」,但仍然無法使模板重載工作。我仍然使用原始帖子中的延長線。這需要改變嗎? – jcady 2010-06-08 13:21:00

0

在你的模板目錄中創建一個符號鏈接contrib/admin/templates/admin/並在{% extends %}語句中使用它。

cd /path/to/project/templates/ 
ln -s /path/to/django/contrib/admin/templates/admin/ django_admin 

現在,在您使用admin/index.html{% extends "django_admin/index.html" %}

編輯:剛剛意識到你是在Windows ...不知道如何達到同樣的效果。希望這仍然可以幫助Linux上的人們。