6

Django 1.4 文档说,您可以使用以下语法将翻译后的字符串转换为“vars”,以便在不同的地方使用或用作模板标签或过滤器中的参数:

{% trans "String" as my_translated_string %}

<h1>{{ my_translated_string }}</h1>

https://docs.djangoproject.com/en/1.4/topics/i18n/translation/#trans-template-tag

我正在这样做,但是定义的 var 永远不会呈现内容。在我的模板代码下面:

{% extends "default_layout.html" %}

{% load i18n %}

{% trans "My page title" as title %}

{% block meta_title %}{{ title }}{% endblock %}

{% block content %} 
    <h1>{{ title }}</h1>
{% endblock %}

当然,在这两种情况下,“标题”都被渲染为空。

我错过了什么吗?

谢谢你。

4

1 回答 1

8

如前所述okm,您需要在要使用它的块内定义变量,并且该变量的范围也在块内:

{% extends "default_layout.html" %}
{% load i18n %}

{% block meta_title %}
{% trans "My page title" as title %}
{{ title }}
{% endblock %}

{% block content %}
{% trans "My page title" as title %}
    <h1>{{ title }}</h1>
{% endblock %}
于 2013-02-10T22:36:16.623 回答