在Django的自定义表单中使用循环
我正在Django中创建一个自定义表单,它从4个不同的元素开始:在Django的自定义表单中使用循环,django,forms,loops,Django,Forms,Loops,我正在Django中创建一个自定义表单,它从4个不同的元素开始: class InputForm(forms.Form): date = forms.DateField() item1 = forms.CharField() amount1 = forms.CharField() category1 = forms.CharField() 我想将其扩展到包括任意数量的项目、金额和类别 item2 = forms.CharField() amoun
class InputForm(forms.Form):
date = forms.DateField()
item1 = forms.CharField()
amount1 = forms.CharField()
category1 = forms.CharField()
我想将其扩展到包括任意数量的项目、金额和类别
item2 = forms.CharField()
amount2 = forms.CharField()
category3 = forms.CharField()
item3...
我尝试设置以下循环,但没有成功。有人知道如何使循环工作,或者知道我可以避免键入item2、item3、item4等的另一种方法吗
items = []
amounts = []
categories = []
for i in range(1,3):
items.append('item' + str(i))
amounts.append('amount' + str(i))
categories.append('category' + str(i))
class InputForm(forms.Form):
for x in items:
x = forms.CharField()
for y in amounts:
y = forms.CharField()
for z in categories:
z = forms.CharField()
我想你要找的是。例如:
class InputForm(forms.Form):
item = forms.CharField()
amount = forms.CharField()
category = forms.CharField()
InputFormSet = formset_factory(InputForm)
然后使用InputFormSet
管理表单集合。如果您需要数量可变且彼此不相关的项目、金额和类别,则可以使用多个表单集