如何使用不同的 id 多次打印 Django 表单
How to print a Django Forms many times with different id
我创建了这个表单,它是一个多输入选项,由查询集填充:
class TestForm(forms.ModelForm):
field = ModelChoiceField(queryset=TestTable.objects.all().order_by('desc1'))
class Meta(object):
model = BlockValue
fields = ()
在同一个 html 表单中,我想多次打印 TestForm。
在 views.py 中是否可以创建一个 TestForm 数组并使用 for 循环在模板中打印?
您可以创建一个表单集并将其传递给您的模板:
TestFormSet = formset_factory(TestForm, extra=3,)
那么在你看来:
def test_form_view(request):
context = RequestContext(request)
if request.method == 'GET':
formset = TestFormSet()
return render_to_response('yourapp/test_form_template.html', {'formset': formset}, context)
并在您的模板中:
{% for form in formset %}
{{form.as_table}}
{% endfor %}
查看 docs 了解更多信息
我创建了这个表单,它是一个多输入选项,由查询集填充:
class TestForm(forms.ModelForm):
field = ModelChoiceField(queryset=TestTable.objects.all().order_by('desc1'))
class Meta(object):
model = BlockValue
fields = ()
在同一个 html 表单中,我想多次打印 TestForm。
在 views.py 中是否可以创建一个 TestForm 数组并使用 for 循环在模板中打印?
您可以创建一个表单集并将其传递给您的模板:
TestFormSet = formset_factory(TestForm, extra=3,)
那么在你看来:
def test_form_view(request):
context = RequestContext(request)
if request.method == 'GET':
formset = TestFormSet()
return render_to_response('yourapp/test_form_template.html', {'formset': formset}, context)
并在您的模板中:
{% for form in formset %}
{{form.as_table}}
{% endfor %}
查看 docs 了解更多信息