2
嗨,大家好,我知道這個問題已經提出了很多次,但我沒有完全實現。正如你在下面看到的,我有一個表格,我可以動態地告訴要創建多少行。 如何創建一個「添加行」鏈接來告訴視圖要創建多少行?我真的很想做沒有增強網址...向Django表單添加字段動態地(乾淨地)
# views.py
def myView(request):
if request.method == "POST":
form = MyForm(request.POST, num_rows=1)
if form.is_valid():
return render_to_response('myform_result.html', context_instance=RequestContext(request))
else:
form = MyForm(num_rows=1)
return render_to_response('myform.html', {'form':form}, context_instance=RequestContext(request))
# forms.py
class MyForm(forms.Form):
def __init__(self, *args, **kwargs):
num_rows = kwargs.pop('num_rows',1)
super(MyForm, self).__init__(*args, **kwargs)
for row in range(0, num_rows):
field = forms.CharField(label="Row")
self.fields[str(row)] = field
# myform.html http://example.com/myform
<form action="." method="POST" accept-charset="utf-8">
<ul>
{% for field in form %}
<li style="margin-top:.25em">
<span class="normal">{{ field.label }}</span>
{{ field }}
<span class="formError">{{ field.errors }}</span>
</li>
{% endfor %}
</ul>
<input type="submit" value="Save">
</form>
<a href="ADD_ANOTHER_ROW?">+ Add Row</a>
太棒了,我知道這是我以前可能沒有想到的。感謝您轉向正確的方向!除了表單工作比我所做的更好之外,'ManagementForm'是我正在尋找的部分。 – Scott 2010-05-31 16:43:55