【问题标题】:Differences in Django Template Inheritance between 0.96 and 1.0?0.96 和 1.0 的 Django 模板继承的区别?
【发布时间】:2010-11-08 02:12:28
【问题描述】:

现在 Google App Engine 原生支持 Django 1.0,我使用以下代码进行了更新:

从 google.appengine.dist 导入 use_library

use_library('django', '1.0')

我现在收到与模板继承有关的模板错误。

例如,如果我有:

{% 扩展“../base.html” %}

引用父目录中的 base.html,这在 Django 0.96 中按预期工作,但 Django 1.0 无法找到引用的模板。

Django 文档 (http://docs.djangoproject.com/en/dev/topics/templates/#template-inheritance) 不要提及版本之间的任何差异......

【问题讨论】:

  • +1 哇,您的问题和接受的答案让我至少省了一个小时的头痛。谢谢!

标签: django google-app-engine inheritance templates


【解决方案1】:

从 0.96 和 1.0 模板继承的主要区别在于,如果您使用 {% extends %},它必须是模板中的第一行。

如果这不是问题,请发布回溯,以便我们了解发生了什么。

【讨论】:

    【解决方案2】:

    我认为您不能在模板继承中使用相对导入。那是你的问题。您需要指定相对于 TEMPLATES_DIR(或 applicationdirectory/templates)如何找到它

    【讨论】:

    • 这是问题所在,Django 文档似乎没有明确说明这是 0.96 和 1.0 之间的差异。
    • 可能很明显,但为了记录和 Google 的利益,这也适用于 Django 1.1。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 2010-12-23
    • 2013-01-09
    • 2021-02-13
    • 2011-04-12
    相关资源
    最近更新 更多