我想在我的模型中有一个字段,该字段会根据其值自动调整表示。假设我有这个玩具模型:
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 }}