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

Why is Django blocktrans working one place and not another?

我有两个 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 标签中起作用?

谢谢,

您必须加载 i18n 个模板标签:

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