Django For循环执行问题

时间:2015-07-13 16:04:13

标签: python html django

我有一个django for loop,它应该在form元素中添加项目。但是,当代码执行时,django只将第一个元素放在form中,并将以下元素放在form html标记之外。

代码是:

<form action="." method="post" class="basket_summary" id="basket_formset">
{% csrf_token %}
{{ formset.management_form }}
{% for form in formset %}
    {% with line=form.instance product=form.instance.product %}
        {% purchase_info_for_line request line as session %}
        <div class="row no-margin cart-item">
            {{ form.id }}
            <div class="col-xs-12 col-sm-2 no-margin">
                {% with image=product.primary_image %}
                {% thumbnail image.original "100x100" upscale=True as thumb %}
                    <a href="{{ product.get_absolute_url }}" class="thumb-holder">
                        <img class="lazy" alt="" src="{{ thumb.url }}" />
                    </a>
                {% endthumbnail %}
                {% endwith %}
            </div> <!-- /.thumbnail holder -->

            <div class="col-xs-12 col-sm-5 ">
                <div class="title">
                    <a href="{{ product.get_absolute_url }}">{{ line.description }}</a>
                </div>
                <a href="#" onclick="$(this).closest('form').submit()">{% trans "Update" %}</a>
                {% if user.is_authenticated %}
                    | <a href="#" data-id="{{ forloop.counter0 }}" data-behaviours="save" class="inline">{% trans "Save for later" %}</a>
                {% endif %}
                <div style="display:none">
                    {{ form.save_for_later }}
                    {{ form.DELETE }}
                </div>
                {% for field_errors in form.errors.values %}
                    {% for error in field_errors %}
                        <span class="error-block"><i class="icon-exclamation-sign"></i> {{ error }}</span>
                    {% endfor %}

                {% endfor %}
            </div> <!-- /.Title holder -->

            <div class="col-xs-12 col-sm-3 no-margin">
                <div class="quantity">
                    <div class="le-quantity">
                        <form>
                            <a class="minus" href="#reduce"></a>
                            <input name="form-0-quantity" id="id_form-0-quantity" readonly="readonly" type="text" value="{{ form.quantity.value }}" />
                            <a class="plus" href="#add"></a>
                        </form>
                    </div>
                </div>
            </div><!-- /.Quantity Holder -->

            <div class="col-xs-12 col-sm-2 no-margin">
                <div class="price">
                    {% if line.is_tax_known %}
                        {{ line.unit_price_incl_tax|currency:line.price_currency }}
                    {% else %}
                        {{ line.unit_price_excl_tax|currency:line.price_currency }}
                    {% endif %}
                </div>
                <a href="#" data-id="{{ forloop.counter0 }}" data-behaviours="remove" class="inline close-btn"></a>
            </div> <!-- /.Price Holder -->

        </div><!-- /.cart-item -->
    {% endwith %}
{% endfor %}</form>

我期望django在表单标签中应该有多个<div class="row no-margin cart-item">项,但这不会发生。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您似乎错过了最后关闭表单标记</form>

编辑:正如其他人在评论中提到的那样,可能是因为你在表格中有表格。这将导致不可预测的行为。