无法扩展 Django 1.2.1 管理模板
我正在尝试覆盖/扩展版本 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" %}
但它似乎引用了本地索引文件(也称为其本身),而不是默认的 Django 副本。我想扩展默认的 Django 模板并简单地更改一些块。当我尝试此文件时,出现递归深度错误。
如何扩展部分管理功能?谢谢。
解决方案:我没有扩展文件,而是将文件复制到 my_templates_directory/admin/ 中,然后按照我的意愿编辑它们。该解决方案虽然不理想,但可以接受。
I am attempting to override/extend the header for the Django admin in version 1.2.1. However when I try to extend the admin template and simply change what I need documented here: http://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacing-an-admin-template), I run into a recursion problem.
I have an index.html file in my project's templates/admin/ directory that starts with
{% extends "admin/index.html" %}
But it seems that this is referencing the local index file (a.k.a. itself) rather than the default Django copy. I want to extend the default Django template and simply change a few blocks. When I try this file, I get a recursion depth error.
How can I extend parts of the admin? Thanks.
SOLUTION: Rather than extending, I copied the files into my_templates_directory/admin/ and just edited them as I wished. This solution was acceptable, though not ideal.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
contrib/admin/templates/admin
路径需要位于settings.py< 的
TEMPLATE_DIRS
路径列表中包含自定义管理模板的目录之前/代码>The
contrib/admin/templates/admin
path needs to go before the directory with your custom admin templates in your list of paths inTEMPLATE_DIRS
in yoursettings.py
在模板目录中创建一个指向
contrib/admin/templates/admin/
的符号链接,并在{% extends %}
语句中使用它。现在在您的
admin/index.html
中使用{% extends "django_admin/index.html" %}
编辑: 刚刚意识到您是在 Windows 上...不知道如何达到相同的结果。希望这仍然对 Linux 上的人们有所帮助。
Create a symlink to
contrib/admin/templates/admin/
in your templates directory and use it in your{% extends %}
statement.Now in your
admin/index.html
use{% extends "django_admin/index.html" %}
EDIT: Just realized that you're on windows... Not sure how to achieve the same results. Hopefully this still helps the folks on linux.
解决方案:我没有扩展文件,而是将文件复制到 my_templates_directory/admin/ 中,然后按照我的意愿编辑它们。该解决方案虽然不理想,但可以接受。
SOLUTION: Rather than extending, I copied the files into my_templates_directory/admin/ and just edited them as I wished. This solution was acceptable, though not ideal.