在Django模板中,这两者到底有什么区别:
{% blocktrans %}My Text{% endblocktrans %}
{% trans 'My Text' %}
最佳答案
来自 Django Docs
Trans 模板标签
使用 Trans 标签,您只能使用单个常量字符串或变量。所以你必须使用
{# These Would Work! #}
title>{% trans "This is the title." %}</title>
<title>{% trans myvar %}</title>
但是不能用
{%trans "This is my title {{ myvar }}" %}
Blocktrans 模板标签
使用 Blocktrans,这种代码是可能的:
{% blocktrans with book_t=book|title author_t=author|title %}
This is {{ book_t }} by {{ author_t }}
{% endblocktrans %}
因此,Blocktrans 将允许您在输出中变得更加复杂和完整。
但是从字面上回答你的问题:不多。除了呈现风格,两者都将作为字符串
'My Text'
发送给翻译器关于Django i18n blocktrans vs trans,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17621770/