我的Django模板中有以下循环:

{% for item in state.list %}

    <div> HTML (CUSTOMERS BY STATE) </div>

    <!-- print sum of customers at bottom of list -->
    {% if forloop.last %}
        <h4>{{ forloop.counter }} Valued Customers</h4>
    {% endif %}

{% endfor %}

很明显,如果我最后只有一个客户,我想打印单数“有价值的客户”
根据Django的docs,应该使用blocktrans。Tried the following, a few flavors of nesting:
    {% blocktrans count %}
        {% if forloop.last %}
            <h4>
                {{ forloop.counter }}
                &nbsp;Valued Customer
                {% plural %}
                &nbsp;Valued Customers
            </h4>
        {% endif %}
    {% endblocktrans %}

Keep getting TemplateSyntaxError: Invalid block tag: 'blocktrans', expected 'empty' or 'endfor'
没有办法和另一个循环结合吗?有什么办法解决吗?谢谢!

最佳答案

。在模板顶部添加以下行:

{% load i18n %}

修复之后,注意对于blocktrans之后的count标记,应该指定一个变量,该变量的值将用于复数检测,因此您可能需要
{% blocktrans count count=forloop.counter %}

09-07 09:42