模板中没有命名周期。 ' ROW1,ROW2'没有定义

时间:2016-11-15 07:06:18

标签: django templates

在我的django内联formset中,形成html:

{% block body %}        
    <h2>Profile</h2>
    <hr>
    <div class="col-md-4">
        <form action="" method="post">{% csrf_token %}
            {{ form.as_p }}

            <table class="table">
                {{ familymembers.management_form }}

                {% for form in familymembers.forms %}
                    {% if forloop.first %}
                        <thead>
                        <tr>
                            {% for field in form.visible_fields %}
                                <th>{{ field.label|capfirst }}</th>
                            {% endfor %}
                        </tr>
                        </thead>
                    {% endif %}
                    <tr class="{% cycle row1,row2 %} formset_row">
                        {% for field in form.visible_fields %}
                            <td>
                                {# Include the hidden fields in the form #}
                                {% if forloop.first %}
                                    {% for hidden in form.hidden_fields %}
                                        {{ hidden }}
                                    {% endfor %}
                                {% endif %}
                                {{ field.errors.as_ul }}
                                {{ field }}
                            </td>
                        {% endfor %}
                    </tr>
                {% endfor %}
            </table>
            <input type="submit" value="Save"/> <a href="{% url 'profile-list' %}">back to the list</a>
        </form>
    </div>
{% endblock %}

当我尝试打开表单时,它会给出

/ profile / add /中的TemplateSyntaxError 模板中没有命名周期。 &#39; ROW1,ROW2&#39;未定义

我怎么能避免这个错误?

2 个答案:

答案 0 :(得分:5)

正如the docs所示,这不是您使用该标记的方式。值应该用空格分隔,而不是用逗号分隔,如果它们是文字字符串,则它们应该用引号括起来。

{% cycle "row1" "row2" %} 

答案 1 :(得分:1)

如果仍然出现错误,可以尝试:

class =“{%cycle'row1''row2'%} formset_row”