无法扩展Django 1.2.1管理模板

问题描述:

我正试图在版本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 /中,并按照我的意愿编辑它们。这个解决方案是可以接受的,但不是很理想

解决方案:我不是扩展,而是将这些文件复制到my_templates_directory/admin /中,然后按照我的意愿编辑它们。这个解决方案是可以接受的,但不是很理想

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

在你的模板目录中创建一个符号链接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上的人们。