我在我的一個視圖中有以下代碼。問題是我無法弄清楚如何將它重構爲一個for循環。唯一的區別是'項目'。部分。我需要在同一個模板中的所有三個變量值,所以我不認爲我可以從urls.py傳遞信息。任何想法,我可以重寫這個,所以我不重複自己?重構此視圖代碼
謝謝。
def average(request):
cal_list = []
cal_list2 = []
cal_list3 = []
exams = Test.objects.filter(test__test_name__iexact="one")
for item in exams:
cal_list.append(int(item.start))
result = sum(cal_list)/float(165) * 100
result = result/len(cal_list)
result = int(round(result))
result = str(result) + '%'
for item in exams:
cal_list2.append(int(item.s1))
result2 = sum(cal_list2)/float(165) * 100
result2 = result2/len(cal_list2)
result2 = int(round(result2))
result2 = str(result2) + '%'
for item in exams:
cal_list3.append(int(item.s2))
result3 = sum(cal_list3)/float(165) * 100
result3 = result3/len(cal_list3)
result3 = int(round(result3))
result3 = str(result3) + '%'
return direct_to_template(request, 'a.html', {'result': result, 'result2': result2, 'result3': result3})
Thanks @Nathan。我的工作很好,我應該能夠重複使用這個概念進行類似的計算。 –
不客氣。 :) –