0.96 和 1.0 的 Django 模板继承的区别?
Posted
技术标签:
【中文标题】0.96 和 1.0 的 Django 模板继承的区别?【英文标题】:Differences in Django Template Inheritance between 0.96 and 1.0? 【发布时间】: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 哇,您的问题和接受的答案让我至少省了一个小时的头痛。谢谢! 【参考方案1】:从 0.96 和 1.0 模板继承的主要区别在于,如果您使用 % extends %
,它必须是模板中的第一行。
如果这不是问题,请发布回溯,以便我们了解发生了什么。
【讨论】:
【参考方案2】:我认为您不能在模板继承中使用相对导入。那是你的问题。您需要指定相对于 TEMPLATES_DIR(或 applicationdirectory/templates)如何找到它
【讨论】:
这是问题所在,Django 文档似乎没有明确说明这是 0.96 和 1.0 之间的差异。 可能很明显,但为了记录和 Google 的利益,这也适用于 Django 1.1。以上是关于0.96 和 1.0 的 Django 模板继承的区别?的主要内容,如果未能解决你的问题,请参考以下文章
GAE/Django 模板 (0.96) 过滤器以获取 GqlQuery 的长度并对其进行过滤
django-7.django模板继承(block和extends)