我想将blocktrans块的输出分配给模板变量。
您可以使用trans标签执行此操作:
{% trans "Some text to translate" as foo %}
但是你不能对blocktrans标签做同样的事情。我没有在文档中看到你可以这样做。
答案 0 :(得分:6)
Django 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 }}">
不幸的是,似乎在添加之前你还需要其他一些方法来实现它。
答案 1 :(得分:4)
使用blocktrans标签是不可能的。
但是,您可以使用此captureas templatetag来捕获blocktrans的输出。
{% captureas trans_value %}
{% blocktrans %}
This has some stuff in it which will be translated {{ foo }}.
{% endblocktrans %}
{% endcaptureas %}
{{ trans_value }}