django(v 1.3)テンプレートを使用してレンダリングされた可変数のフィールド名/入力ボックスをレンダリングしようとしています。私の見解では、テーブルを検索して列名を取得してから、同じサイズのforms.CharFields()のリストを作成し、次のようにそれらをまとめて圧縮します。
ua_data = [forms.CharField(required=False) for i in range(len(ua_data_field_names))]
ua_fields = zip(ua_data_field_names, ua_data)
ua_field1 = forms.CharField(required=False) # temp field for testing
そのため、コンテキストの最後に次のようなものが含まれます(1つのフィールドのみ)。
>>> ua_fields
[(u'Test field', <django.forms.fields.CharField object at 0x108386b50>)]
私のテンプレートでは、次のループを実行しています。
{% for field in form.ua_fields %}
<tr>
<td>{{ field.0 }}</td>
<td>{{ field.1 }} {{ field.1.errors }}</td>
{#<td>{{ form.ua_field1 }} {{ form.ua_field1.errors }}</td>#}
</tr>
{% endfor %}
これにより、レンダリングされたHTMLで次のことがわかります。
Test field <django.forms.fields.CharField object at 0x1081f1c50>
一方、<td>
上記の2番目をコメント化された行と交換すると、実際に入力フィールドがレンダリングされます(ua_field1は直接forms.CharField
オブジェクトです)
リストルックアップフィールドが魔法のHTMLレンダリングを実行できないのは何ですか?