误解了Django中的循环标记

时间:2012-09-09 01:17:59

标签: django django-templates cycle

我不确定是否发现了错误,系统配置错误,或者只是误解了Django中的{%cycle%}模板标记。

本手册提供以下示例代码:

{% cycle 'row1' 'row2' as rowcolors silent %}{# no value here #}
{% for o in some_list %}
    <tr class="{% cycle rowcolors %}">{# first value will be "row1" #}
        ...
    </tr>
{% endfor %}

它清楚地表明第一个循环声明不会输出任何内容,后续调用将是第一次循环。

我遇到以下问题:首先,第二个调用输出'row2',这将在第二次调用时出现。其次,后续的{%cycle rowcolors%}调用也不会输出任何内容!

我是否完全误解了某些内容,或者标签是否无法正常使用?

1 个答案:

答案 0 :(得分:1)

据我所知,代码是循环函数的docstring与the actual documentation中的代码示例不同。您应该使用{{ rowcolors }}来显示循环文本。

  

其次,后续{%cycle rowcolors%}调用也不输出任何内容!

来自文档:

  

当静音关键字用于循环定义时,静音自动应用于循环标记的所有后续使用。在,以下模板将不输出任何内容,即使对{%cycle%}的第二次调用未指定silent:

该段落后面的代码示例似乎与您当前的问题类似。