我正在寻找类似的东西:
{% trans "There are %{flowers}n flowers in the vase" < flowers:3 %}
现在显然语法是假的,但它应该足以证明我正在寻找的东西。
我应该自己做点什么吗?它看起来像一个常见的用例,所以我很惊讶快速的网络搜索没有返回任何有用的东西。
我实际上开始讨厌使用Django模板系统......虽然我知道它的目的是强制将应用程序逻辑与视图分离,但它是通过侵入我的工作流程来实现的。我应该能够快速制作原型,只有当我需要与设计师合作时才会这样,只有这样,我才能更加严格地对待这样的事情。
答案 0 :(得分:3)
我不完全确定你要做什么(< flowers:3
应该做什么?),但是你看过blocktrans吗?
{% blocktrans count flowers|length as counter %}
There is one flower in the vase.
{% plural %}
There are {{ counter }} flowers in the vase.
{% endblocktrans %}
答案 1 :(得分:1)
使用{% blocktrans %}
代替{% trans %}
。
答案 2 :(得分:0)
您可能会发现模块inflect.py很有用,但这意味着要离开模板系统。
import inflect
p = inflect.engine()
p.num(numflowers, show=False)
return 'There %s %s %s in the vase.' % (
p.pl('is'),
p.numwords(numflowers),
p.pl('flower'))
with numflowers = 1
'There is one flower in the vase.'
with numflowers = 2
'There are two flowers in the vase.'