我通常不會以最好的方式編寫我的Python代碼,因爲我相對較新,有人要求我更改Django應用程序,因爲代碼看起來不太好。我怎樣才能用較少的冗餘/複製粘貼來寫這個?
這裏是什麼樣子:
@login_required
def submission_set_rank(request):
r1_obj_id = request.GET.get('rank1','')
r2_obj_id = request.GET.get('rank2','')
r3_obj_id = request.GET.get('rank3','')
r4_obj_id = request.GET.get('rank4','')
r5_obj_id = request.GET.get('rank5','')
#rate the first BallotStats object
ballot_1 = BallotStats.objects.get(object_id=r1_obj_id)
ballot_2 = BallotStats.objects.get(object_id=r2_obj_id)
ballot_3 = BallotStats.objects.get(object_id=r3_obj_id)
ballot_4 = BallotStats.objects.get(object_id=r4_obj_id)
ballot_5 = BallotStats.objects.get(object_id=r5_obj_id)
ballot_1.score += 5
ballot_2.score += 4
ballot_3.score += 3
ballot_4.score += 2
ballot_5.score += 1
ballot_1.save()
ballot_2.save()
ballot_3.save()
ballot_4.save()
ballot_5.save()
return HttpResponseRedirect('/submissions/results/film/')
事實證明,我意識到,我一直在寫我的Python代碼這種方式,有沒有辦法讓它更好看,而不是佔用了21 +代碼行?
循環迴路循環迴路:)一點點'的......在......'不會傷害有點 –
@Carsten不同意 - 這不僅是代碼風格以及它的大小和美感。這也是關於性能。另外,它真的是django特定的。 – alecxe
這應該是一個帶'ModelChoiceField's和'save()'方法的'Form'。 –