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

Python Django-模板中字段的自定义表示形式,python,django,django-templates,Python,Django,Django Templates,我希望在我的模型中有一个字段,该字段的表示根据其值自动调整。假设我有这个玩具模型: class Article(models.Model): title = models.CharField(max_lenght=256) visits = models.PositiveIntegerField(default=0) 我想在我的模板中只写{{article.visions}},如果值是(例如)45,它将呈现“45”,但是如果值是1233,它将打印“1.2k” 使用模板过滤器进行

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

class Article(models.Model):
    title = models.CharField(max_lenght=256)
    visits = models.PositiveIntegerField(default=0)
我想在我的模板中只写
{{article.visions}}
,如果值是(例如)45,它将呈现“45”,但是如果值是1233,它将打印“1.2k”


使用模板过滤器进行格式化很简单,但我希望在任何情况下都能自动完成。可能吗?您有什么建议?

文章中添加属性
模型:

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

将属性添加到
文章
模型:

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

将属性添加到
文章
模型:

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

将属性添加到
文章
模型:

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

在模板中只能使用过滤器或标记。否则,它也会在模板之外表示这样的值。只能在模板中使用过滤器或标记。否则,它也会在模板之外表示这样的值。只能在模板中使用过滤器或标记。否则,它也会在模板之外表示这样的值。只能在模板中使用过滤器或标记。否则,它也将在模板之外表示这样的值。