范围(1,1)不由循环

时间:2017-05-12 03:59:51

标签: python django python-3.x

我试图循环产品的数量:

{% for the_number in one_product.product_stock_range %}
    {% if the_number == one_product.quantity %}
    <option value="{{ the_number }}" selected="selected">{{ the_number }}</option>
    {% else %}
    <option value="{{ the_number }}">{{ the_number }}</option>
    {% endif %}
{% endfor %}

现在我正在使用

  'product_stock_range'   : range(1, product_stock),

但有时,某些产品的库存仅为1.循环不会运行,如何解决此问题?即使它只是一次性循环,我如何强制循环运行?

2 个答案:

答案 0 :(得分:1)

您需要将range(1, product_stock)更改为range(0, product_stock)range(product_stock)(默认为零),因为对于大多数编程语言(包括Python),索引从0开始。

答案 1 :(得分:0)

您可以使用条件:

range(1, product_stock if product_stock > 1 else 2)

这一点,在product_stock1的情况下,产生range(1, 2)会导致单次迭代(这就是您所说的)。