Django - 模板中字段的自定义表示形式



我想在我的模型中有一个字段,该字段会根据其值自动调整表示。假设我有这个玩具模型:

class Article(models.Model):
    title = models.CharField(max_lenght=256)
    visits = models.PositiveIntegerField(default=0)

我想在我的模板中编写 {{article.visits}},如果值是(例如)45,它将呈现"45",但如果值为 1233,它将打印"1.2k"。

使用模板过滤器进行格式化很简单,但无论如何我都想自动完成。 可能吗?你有什么建议?

Article模型添加属性:

class Article(models.Model):
    ...
    @property
    def visits_display(self):
        return self.visits if visits < 1000 else '%.1fk' % (self.visits/1000.0)

并在模板中使用此属性:

{{ article.visits_display }}

最新更新