2013-02-25 15 views
7

ブロックトランズブロックの出力をテンプレート変数に割り当てたいと思います。blocktrans出力を変数に代入

あなたが行うことができますようにのように、トランスタグを使用して:あなたはblocktransタグで同じことを行うことはできませんしかし

{% trans "Some text to translate" as foo %} 

。私はあなたがこれを行うことができることを文書では見ていない。

+0

ちょうど親切に尋ねます:あなたはDjango 1.9で完全に動作するより良いものへの答えを更新することができます。 – webjunkie

+0

ありがとうございます。更新しました。 – LeeMobile

答えて

6

ジンゴ1.9は、asvarの成分をblocktransに追加しました。 An example from the docs

{% blocktrans asvar the_title %}The title is {{ title }}.{% endblocktrans %} 
<title>{{ the_title }}</title> 
<meta name="description" content="{{ the_title }}"> 

残念ながら、それが追加される前に、あなたがそれをやって他のいくつかの方法が必要と思われます。

4

blocktransタグでは不可能です。

ただし、このcaptureas templatetagを使用してblocktransの出力をキャプチャすることができます。

{% captureas trans_value %} 
    {% blocktrans %} 
     This has some stuff in it which will be translated {{ foo }}. 
    {% endblocktrans %} 
{% endcaptureas %} 

{{ trans_value }} 
+0

ありがとう、私はあなたがリンクを与えたコードをどこに置くべきか分からない。 –

+0

@ olivier-pons [https://docs.djangoproject.com/ja/1.9/howto/custom-template-tags/](カスタムテンプレートタグ)として定義し、テンプレート – guival

+0

にロードする必要があります。受け入れられた答えはdjango v 1.9+でのみ動作します。この回答は<1.9で有効です。あなたは私の製品をアップグレードしなければならないと言っているかもしれませんが、あなたは正しいですが、アップグレードはいつもスケジュールされているとは限りません。 (また、blocktransよりも一般的な場合はcapturea) –

関連する問題