【问题标题】:For Loop Django Template [duplicate]For循环Django模板[重复]
【发布时间】:2020-10-14 07:41:18
【问题描述】:

我正在尝试找出在 Django 模板中从整数字段循环给定次数的最佳方法

例如,如果我有一个模型:

models.py

class Rating(models.Model):
   checked = models.IntegerField(default='0')
   unchecked = models.IntegerField(default='0')

我有一个记录在哪里checked = 5,在模板中我该怎么做:

{% for i in checked %}
<div>some repeatable content here </div>
{% endfor %}

由于checked 是一个整数,它是不可迭代的,不能在for循环中使用。有没有更简单的解决方案?

【问题讨论】:

    标签: python django django-models django-views


    【解决方案1】:

    range(checked) 传递给模板,然后进行迭代。或者您可以创建属性:

    @property
    def checked_range(self):
        return range(self.checked)
    

    并像这样在模板中使用它:

    {% for i in rating.checked_range %}
        <div>some repeatable content here </div>
    {% endfor %}
    

    【讨论】:

    • 这太完美了!仅供其他可能阅读的人使用:@property 出现在您的模型上。
    猜你喜欢
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 2010-11-09
    相关资源
    最近更新 更多