【发布时间】:2014-06-13 05:40:07
【问题描述】:
请有人告诉我哪里出错了。我想要做的是让用户输入他们想要的产品数量,并在提交时,如果该数量大于 0,则显示一个等于数量的表单。有多个产品,所以我使用 if 语句来说明帖子在哪里有这个产品名称,显示这个表格。我得到的结果只是发送过来的最后一个产品的表格。所以在 [eggs, ham] 的列表中,我只得到了 ham 的表格。如果可能,请帮忙,这是我下面的代码。
查看:
if request.method =='POST':
session = request.session._session_key
formtype = request.POST.getlist('name')
i = 0
while i < len(formtype):
for f in formtype:
if f == 'eggs':
item = CompReg.objects.get(sessionid = session, name='eggs')
extra = item.quantity
listmemformset = modelformset_factory(ProBachata, form=ProBachataF,extra=extra)
formset = listmemformset()
elif f == 'ham':
item = CompReg.objects.get(sessionid = session, name='ham')
extra = item.quantity
listmemformset = modelformset_factory(ProBachata, form=ProBachataF,extra=extra)
formset = listmemformset()
i += 1
else:
extra = 0
模板:
{{formset.as_p}}
【问题讨论】:
-
因为每次重新设置
formset,所以它成为列表中的最后一个。我认为您必须使用“formset列表”之类的内容,然后在模板中对其进行迭代。 -
我对 python 还很陌生,您能详细说明一下吗?