如何使.counts返回2个计数而不是1

时间:2019-11-23 22:05:42

标签: python django django-templates

我的Django模板中包含以下代码行,该代码行返回的注释计数为1、2、3 ...

<li class="list-inline-item">comms: {{ article.comments.count }}</li>

如何使每个评论的返回值都以两位为单位?像2,4,6 ...

如有需要,我可以提供更多详细信息。

谢谢。

1 个答案:

答案 0 :(得分:2)

为此的多种解决方案:

  1. 在您的Article模型上添加一个属性,它将为您做乘法
class Article(models.Model):
    ...
    @property
    def comments_count_multiplied(self):
        return 2 * self.comments.count()

现在您可以在模板中使用它:

<li class="list-inline-item">comms: {{ article.comments_count_multiplied }}</li>
  1. 注册自定义template filter并在模板中使用它:
from django import template

register = template.Library()

@register.filter
def multiply_with_two(value):
    return 2 * value

在您的模板中:

<li class="list-inline-item">comms: {{ article.comments.count|multiply_with_two }}</li>