タイトルが私が欲しいものを正確に表しているかどうかはわかりません。私が望むのは、そのようなことを達成することです: Django add / remove form without multiple submit。
しかし、私はフォームセットとフォームを持っているアイテムのリストを持っていません。このフォームセットのフォームには、{% url 'item_edit' item.id %} のようなリンクを作成するために使用できる情報が含まれています。問題は、それが非表示フィールドの値であることです。ここ ( http://docs.djangoproject.com/en/dev/topics/forms/#looping-over-the-form-s-fields ) には、テンプレートでフォームのフィールドを使用する方法のオプションのリストがあります。しかし、どれも {{ field.value }} ではありません。私がそれを試みた場合、それは黙って失敗しました。
ともかく。コードに。私がテンプレートに持っているものは次のとおりです。
<form enctype="multipart/form-data" method="post" action="/list/edit/{{ list.id }}/">
<table>
{{ form.as_table }}
{{ formset.management_form }}
{% for form in formset.forms %}
{% if forloop.first %}
<tr>
{% for field in form.visible_fields %}
<td>{{ field.label }}</td>
{% endfor %}
</tr>
{% endif %}
<tr>
{% for field in form.visible_fields %}
{% if not forloop.last %}
<td>{{ field }}</td>
{% else %}
<td>{{ field }}
{% endif %}
{% endfor %}
{% for field in form.hidden_fields %}
{% if not forloop.last %}
{{ field }}
{% else %}
{{ field }}</td>
{% endif %}
{% endfor %}
</tr>
{% endfor %}
<tr><td><input type="submit" value="Submit"></td><td colspan="4"> </td></tr>
</table>
</form>
これにより、次のようなインラインフォーム行が得られます。
<tr>
<td><input type="text" maxlength="200" value="test2" name="shoppinglistitem_set-0-itemname" id="id_shoppinglistitem_set-0-itemname"/></td>
<td><input type="text" maxlength="200" value="http://www.xxx.ee" name="shoppinglistitem_set-0-link" id="id_shoppinglistitem_set-0-link"/></td>
<td><input type="text" maxlength="100" value="eepöäsdöäfsdfd" name="shoppinglistitem_set-0-store" id="id_shoppinglistitem_set-0-store"/></td>
<td><input type="text" id="id_shoppinglistitem_set-0-price" value="22134" name="shoppinglistitem_set-0-price"/></td>
<td><input type="checkbox" id="id_shoppinglistitem_set-0-DELETE" name="shoppinglistitem_set-0-DELETE"/><input type="hidden" id="id_shoppinglistitem_set-0-list" value="1" name="shoppinglistitem_set-0-list"/><input type="hidden" id="id_shoppinglistitem_set-0-listitem_ptr" value="5" name="shoppinglistitem_set-0-listitem_ptr"/></td>
</tr>
そして、私はこのようなリンクを追加する方法を探しています
<a href={% url 'remove_list_item' item.id %}>REmove</a>
あるいは単に
<a href="http://localhost/list/removeitem/{{ id }}">REmove</a>
このビューの Urlconf は次のとおりです。
url(r'^removeitem/(?P<lisitem_id>\d+)/$', 'remove_list_item', name='remove_list_item')
フォームからアイテム(オブジェクト)のIDを取得する簡単な方法はありますか? 代わりに、リンクを削除するための何らかのウィジェットを作成する必要がありますか?
アラン。