を保存すると、同じフォームの別のインスタンス(空のone ofc)を追加できますが、Submit(save)をクリックすると最後に入力したものが保存されます。 views.py:同じフォームの複数のインスタンスをテンプレートのユーザに
def form_valid(self, form):
self.object = form.save()
return HttpResponseRedirect(self.get_success_url())
テンプレート:
<form action="{{ action }}" class="form-horizontal form-inline" method="post" enctype="multipart/form-data">
{% csrf_token %}
{% if object.id %}
<legend>Edit Object2</legend>
{% else %}
<legend>Add Object2</legend>
{% endif %}
{{ form }}
<div class="objects2">
{% for objects2_form in form %}
<div id="objects2-{{ forloop.counter0 }}">
</div>
{% endfor %}
</div>
<div class="form-actions">
<a href="#" id="add-object2" class="btn btn-info add-object2" >Add object2</a>
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
EDIT:私はそれが一度に一つのオブジェクトを投稿する方が簡単ですし、同じページをレンダリング節約に決めました 。問題今私は1つ(最後の)フォームがすべてではなくページに表示されているということです。 (すべてがdbに保存されます)。最後に空のフォームを表示する方法は?
EDIT2: 私はすべてを表示することができた:
object2 = object2Model.objects.all()
return render_to_response('xxx.html',
{'form': form, 'object2': object2}, context_instance = RequestContext(self.request))
だから、唯一の1つのものは、空のフォームを表示する方法..残っています? (formsetを使用しないで)