django - {% blocktrans %} {{渲染变量}} {% endblocktrans %}

0 投票
2 回答
597 浏览
提问于 2025-04-21 01:30

在我的情况下,django的翻译功能没有起作用:

{% blocktrans %} {{sign}} {% endblocktrans %}

这里的 {{sign}} 是从views.py文件中来的,代表的是星座,比如:

'Capricorn'
'Aquarius' 
'Pisces' 
'Aries' 
'Taurus' 
'Gemini' 
'Cancer'
'Leo' 
'Virgo' 
'Libra' 
'Scorpio' 
'Sagittarius'

我在.po文件里添加了所有的翻译,并且运行了 compilemessages,但是它就是不翻译。我到底哪里做错了呢?

2 个回答

0

我在models.py文件里这样做了翻译:

_('Capricorn')
_('Aquarius') 
_('Pisces') 
_('Aries') 
_('Taurus') 
_('Gemini') 
_('Cancer')
_('Leo') 
_('Virgo') 
_('Libra') 
_('Scorpio') 
_('Sagittarius')

然后在模板里只需要这样:

{{sign}}

现在一切都正常运作了。

1

blocktrans 是用来翻译变量周围的文字的,但它不会翻译变量本身。

这个回答可能对你有帮助。更多信息可以查看 文档

撰写回答