我只能在运行代码之前知道数组中元素的数量时才能用 actuals_data 数组的元素填充我的formset,这个代码为12,但是当我在运行代码之前不知道数组中的元素数量时,如何从数组中填充formset,这些变量来自变量 count 。
我的观点是
def show_actuals(request):
Account_Number_in = request.session['account_number']
Year_in = request.session['year']
count = request.session['count']
actuals_data = request.session['actuals_to_show']
months = request.session['months']
show_actuals_formset = formset_factory(FetchActualsBox, extra=0)
formset = show_actuals_formset(initial=[{'Value': actuals_data[0]},
{'Value': actuals_data[1]},
{'Value': actuals_data[2]},
{'Value': actuals_data[3]},
{'Value': actuals_data[4]},
{'Value': actuals_data[5]},
{'Value': actuals_data[6]},
{'Value': actuals_data[7]},
{'Value': actuals_data[8]},
{'Value': actuals_data[9]},
{'Value': actuals_data[10]},
{'Value': actuals_data[11]},
])
return render_to_response('ShowActualsData.html', {'formset' : formset , 'count' : count, 'actuals_data' : actuals_data , 'months' : months , 'Account_Number' : Account_Number_in , 'Year' : Year_in })
答案 0 :(得分:2)
您可以使用给定数量的项目迭代并创建列表。
示例代码:
def show_actuals(request):
Account_Number_in = request.session['account_number']
Year_in = request.session['year']
count = request.session['count']
actuals_data = request.session['actuals_to_show']
months = request.session['months']
show_actuals_formset = formset_factory(FetchActualsBox, extra=0)
initial_list = []
for data in actuals_data:
initial_list.append({'value': data})
formset = show_actuals_formset(initial=initial_list)