无法扩展 Django 1.2.1 管理模板

发布于 2024-09-04 19:54:16 字数 646 浏览 4 评论 0原文

我正在尝试覆盖/扩展版本 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

蓝梦月影 2024-09-11 19:54:16

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 in TEMPLATE_DIRS in your settings.py

别低头,皇冠会掉 2024-09-11 19:54:16

在模板目录中创建一个指向 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 上的人们有所帮助。

Create a symlink to contrib/admin/templates/admin/ in your templates directory and use it in your {% extends %} statement.

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

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.

何处潇湘 2024-09-11 19:54:16

解决方案:我没有扩展文件,而是将文件复制到 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文