0

フォーム フィールドをテーブルに広げることができるように、このようなループを書きたいと思います。:

{% load widget_tweaks %}
{% load mathfilters %}
{% load get_range %}

{% for k in form|length|div:5|floatformat|add:1|get_range %}
    <tr>
        {% for field in form %}
        {% if forloop.counter >= k|mul:5 and forloop.counter <= k|mul:5|add:4 %}
            <th>{{ field.label_tag }}{{ field.errors }}</th>
        {% endif %}
        {% endfor %}
    </tr>
    <tr>
        {% for field in form %}
        {% if forloop.counter >= k|mul:5 and forloop.counter <= k|mul:5|add:4 %}
            <td>{{ field|add_class:"span4" }}</td>
        {% endif %}
        {% endfor %}
    </tr>
{% endfor %}

これは機能しませんが、上記のコードが で失敗するためform|lengthです。これを機能させるには、テンプレートでフォーム内のフィールド数を取得する必要があります。誰もこれを行う方法を知っていますか? 私はすべてを検索しましたが、何も見つかりません。以下は機能しません:

form.len
form.length
form|length

ありがとう!

4

4 に答える 4

1

何を探しているのかよくわかりませんが、次のように聞こえます。

{% for field in form %}
    <tr>
        {% if forloop.counter0|divisibleby:5 %}
            <th class="span4">{{ field.label_tag }}{{ field.errors }}</th>
        {% else %}
            <th>{{ field.label_tag }}{{ field.errors }}</th>
        {% endif %}
    </tr>
{% endfor%}
{% for field in form %}
    <tr>
        {% if forloop.counter0|divisibleby:5 %}
            <td>{{ field|add_class:"span4" }}</td>
        {% else %}
            <td>{{ field }}</td>
     </tr>
{% endfor %}
于 2013-08-31T07:54:19.257 に答える
0

私はこのコードが好きではありませんが、それは私の最初のアイデアでした.

{% for field in form %}

    {% if forloop.last %}
        {{ forloop.counter }}
    {% endif %}

{% enfor %}
于 2013-08-31T03:21:39.083 に答える