将blocktrans输出分配给变量

Lee*_*ile 7 django django-templates

我想将blocktrans块的输出分配给模板变量.

你可以使用trans标签这样做:

{% trans "Some text to translate" as foo %}
Run Code Online (Sandbox Code Playgroud)

但是你不能用blocktrans标签做同样的事情.我没有在文档中看到你可以这样做.

Tim*_*all 6

Django 1.9添加了一个asvar组件blocktrans. 来自文档的一个例子:

{% blocktrans asvar the_title %}The title is {{ title }}.{% endblocktrans %}
<title>{{ the_title }}</title>
<meta name="description" content="{{ the_title }}">
Run Code Online (Sandbox Code Playgroud)

不幸的是,似乎在添加之前你还需要一些其他的方法.


Jac*_*edd 5

这对于 blocktrans 标签是不可能的。

但是,您可以使用此捕获作为模板标签来捕获 blocktrans 的输出。

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

{{ trans_value }}
Run Code Online (Sandbox Code Playgroud)