我想在我的模型中有一个字段,表示根据其值自动调整。假设我有这个玩具模型:
class Article(models.Model):
title = models.CharField(max_lenght=256)
visits = models.PositiveIntegerField(default=0)
我想在我的模板中写{{article.visits}}
,如果值是(例如),45,它将呈现" 45",但如果值为1233,则将打印" 1.2k"。
使用模板过滤器进行格式化非常简单,但我想在任何情况下自动执行此操作。可能吗?你有什么建议?
答案 0 :(得分:3)
向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 }}