我正在使用get_context_data
方法返回SessionWizardView中的變量。但是,當我嘗試返回five_image
,six_image
或`seven_image'時,我仍然收到波紋管錯誤。轉讓之前引用Django:在分配之前引用的局部變量'five_image'
局部變量「five_image」
我無法理解的是,每個變量都被清楚地分配一個值,這是我知道的作品,因爲我打印到終端。
我試圖做
我想存儲其顯示在5,6和我的形式在以後頁面上使用的7頁的圖像的名稱。
path_one_images = ['P1D1.jpg', 'P2D2.jpg', 'P3D3.jpg', 'P4D4.jpg', 'P5D5.jpg/', 'P6D6.jpg', 'P7D7.jpg', 'P8D8.jpg', 'P9D9.jpg']
class SurveyWizardOne(SessionWizardView):
def get_context_data(self, form, **kwargs):
context = super(SurveyWizardOne, self).get_context_data(form, **kwargs)
if self.steps.current in ['5','6','7','9','10','11','13','14','15']:
display_image = random.choice(path_one_images)
if self.steps.current == '5':
five_image = display_image
elif self.steps.current == '6':
six_image = display_image
elif self.steps.current == '7':
seven_image = display_image
steps = ['5','6','7','9','10','11','12','13','14','15']
context.update({'display_image': display_image,
'five_image': five_image,
'six_image': six_image,
'seven_image': seven_image,
'steps': steps
})
path_one_images.remove(display_image)
if self.steps.current in ['8','12','16']:
print '\n\n\n\nYou are on step', self.steps.current
return context
任何幫助一如既往,非常appriciated。
您沒有初始化if語句之外的各種局部變量。因此,這個問題 – karthikr 2014-09-26 19:01:55