Django:任何使用blocktrans都会导致TemplateSyntaxError

时间:2011-02-07 10:51:10

标签: django internationalization translation

使用Django 1.2.1,任何使用blocktrans都会破坏我的模板。例如

{%blocktrans%}text{%endblocktrans%}

结果:

Django版本:1.2.1 异常类型:TemplateSyntaxError 无效的块标记:'blocktrans'

删除blacktrans会导致代码生效。如果相关的话,Django会在GAE上运行。

2 个答案:

答案 0 :(得分:19)

回答我自己的问题,我忘记了:

{% load i18n %}

在模板的顶部。这是使用blocktrans标记所必需的。

修改:请参阅下面的orokusaki改进的答案,以便为所有模板永久修复此问题。

答案 1 :(得分:5)

只需将其添加到您喜欢的内置代码中,而不是:

# in urls.py
template.add_to_builtins('django.templatetags.i18n')

我在多个模板中使用的任何标签,我只是加载到那里。