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

私はそのようにしていますが、定義された変数がコンテンツをレンダリングすることはありません。テンプレートコードの下:

{% 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 に答える