为什么Django blocktrans工作在一个地方而不是另一个地方?

时间:2016-06-28 16:56:59

标签: python django django-templates pinax

我有两个Django模板(在Pinax 0.9.x项目中),文本位于blocktrans块中。一个是工作而另一个不工作。

正在工作的那个:

{% extends "site_base.html" %}

...

{% block body %}

    <h1>ABC</h1>

    <h2><em>DEF</em></h2>

    <p>
        {% blocktrans %}
        GHI
        ...

不能正常工作的是调试模式错误:

TemplateSyntaxError at /JKL/
Invalid block tag: 'blocktrans', expected 'endblock' or 'endblock body'

通过提供以下源代码来跟踪这些标题,blocktrans以红色突出显示:

{% extends "site_base.html" %}
{% block head_title %}MNO{% endblock %}

{% block body %}
    <p>
        {% blocktrans %}
        PQR
        {% endblocktrans %}
    </p>

这两个代码块是同构的吗?如果他们不是,有什么区别?我应该做些什么来使其内容的段落在blocktrans标签中工作?

谢谢,

1 个答案:

答案 0 :(得分:2)

您必须加载i18n模板标记:

<!-- your_template.html -->
{% load i18n %}