在Django模板中枚举数字

时间:2018-11-22 09:06:11

标签: django templates

这是一个出于好奇的问题:

所以我对模型字段有4种选择。

class Thing(models.Model):
    Cat_One = (("b", "Big"), ("s", "Small"),("a","very small"),("x","xtra small"))
    dateCreation = models.DateTimeField(null=True, blank=True)
    url = models.CharField(null=True, blank=True, max_length=800)
    name = models.CharField(blank=True, null=True, max_length=200)
    catOne = models.CharField(max_length=1, choices=Cat_One, blank=True, null=True)

所以我可以将选择传递给Django模板:

{% for choice in  cat_One %} 

... 并反复进行。

但是我想知道,如何在不将任何内容传递给django模板的情况下从1迭代到4?

有没有办法做

{% for number in [1,2,3,4] %}

或带有forloop计数器的东西?

致谢

1 个答案:

答案 0 :(得分:1)

将此添加到您的Thing模型中:

@property
def numbers(self):
    return [1,2,3,4]

然后,您可以在模板中执行以下操作:

{% for number in thing.numbers %}
<li>{{ number }}
{% endfor %}