【问题标题】:Django - skip first row of arrayDjango - 跳过数组的第一行
【发布时间】:2011-12-21 01:56:39
【问题描述】:

我有一个相当简单的问题,但我似乎找不到简单的解决方案。 我想遍历我的 Django 模板中的一个数组,但跳过第一个值。

假设我有一个这样的数组,我通过视图传递给我的模板:

array = ['1', '2', '3', '4', '5']

在我的模板中:

{% for a in array %} {{ 一种 }} {% endfor %}

我怎样才能只打印'2''3''4''5',没有第一个值?

【问题讨论】:

    标签: django arrays django-templates


    【解决方案1】:
    {% for a in array|slice:"1:" %}{{ a }}{% endfor %}
    

    更多信息请参见https://docs.djangoproject.com/en/1.3/ref/templates/builtins/#slice

    【讨论】:

    • 工作完美,谢谢。我会研究一下这个切片函数,我不知道它
    • 当数组是查询集时遇到问题。我认为@Some程序员老兄的回答更普遍。
    【解决方案2】:
    {% for a in array %}
      {% if not forloop.first %}
        {{ a }}
      {% endif %}
    {% endfor %}
    

    最后一次迭代当然还有forloop.last

    它们都在 Django reference 中列出。

    【讨论】:

      【解决方案3】:
      {% for a in array %}
      {% if forloop.counter != 1 %}
          {{ a }}
      {% endif %}
      {% endfor %}
      

      【讨论】:

      • @Jeremy Lewis 的解决方案可能更干净,除非你想用第一个值做一些事情
      猜你喜欢
      • 1970-01-01
      • 2014-06-07
      • 2013-08-17
      • 2013-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      相关资源
      最近更新 更多