Django trans标签可以包含HTML标签吗?例如,我可以做{% trans "Hold <em><strong>Ctrl</strong></em>" %}
吗?还是我必须要做{% trans "Hold" %} <em><strong>{% trans "Ctrl" %}</strong></em>"
?
最佳答案
我们可以在trans
模板标签内包含HTML标签吗?
不,,我们不应该像在第一种方法trans
中所做的那样在 {% trans "Hold <em><strong>Ctrl</strong></em>" %}
模板标签内包含HTML标签。这是错误的方法
从docs:
<title>{% trans "This is the title." %}</title> # example 1
<title>{% trans "myvar" noop %}</title> # example 2
解决方案-1:使用
trans
模板标记除了将HTML代码放在
trans
标记内之外,您可以执行以下类似操作来获得所需的结果(尽管这不是推荐的方法)。{% trans "Hold" %} <em><strong>{% trans "Ctrl" %}</strong></em> # using trans tag
解决方案2:使用
blocktrans
标签代替更好的选择是使用
blocktrans
模板标记而不是trans
标记来包含HTML标记。然后,您可以执行以下操作:
{% blocktrans %}
Hold <em><strong>Ctrl</strong></em>
{% endblocktrans %}