无法扩展Django 1.2.1管理模板

时间:2010-06-07 21:15:55

标签: django django-admin

我试图在版本1.2.1中覆盖/扩展Django管理员的标头。但是,当我尝试扩展管理模板并简单地更改我需要记录的内容:http://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacing-an-admin-template)时,我遇到了一个递归问题。

我的项目的templates / admin /目录中有一个以

开头的index.html文件
{% extends "admin/index.html" %}

但似乎这是引用本地索引文件(a.k.a.本身)而不是默认的Django副本。我想扩展默认的Django模板,只需更改几个块。当我尝试这个文件时,我得到一个递归深度错误。

如何扩展部分管理员?感谢。

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

3 个答案:

答案 0 :(得分:2)

contrib/admin/templates/admin路径需要在您的TEMPLATE_DIRS

settings.py路径列表中的自定义管理模板目录之前。

答案 1 :(得分: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上的人们。

答案 2 :(得分:0)

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