我不認爲我正確使用類變量。在ClientFormPage類中,我將active_form初始化爲'f1_form'。在發佈第一個表單之後,我希望將active_form提前到'f2_form',但它會一直重置爲'f1_form'。做這個的最好方式是什麼?如何在Python中的同一類中的方法之間傳遞變量
class ClientFormPage(PageHandler):
active_form = 'f1_form'
def render_form(self, f1='hidden', f2='hidden', **kw):
self.render('clientforms.html', form1=f1, form2=f2, **kw)
def get(self):
self.render_form(f1='')
def get_form2(self):
self.render_form(f2='')
def post(self):
if self.active_form == 'f1_form':
foo = self.request.get('foo')
if not foo:
self.render_form(f1_form='', foo=foo,
foo_error='has-error has-feedback')
else:
self.active_form = 'f2_form' # This assignment is not sticking
self.get_form2()
return
if self.active_form == 'f2_form':
bar = self.request.get('bar')
if not bar:
self.render_form(f1_form='', bar=bar,
bar_error='has-error has-feedback')
else:
self.active_form = 'f3_form'
self.get_form3()
return
這個隱藏的輸入方法看起來像我正在尋找,但它似乎並沒有爲我工作。我已將此添加到我的html模板中:。我也在我的ClientFormPage類下添加了這個:def post(self): active_form = self.request.get('active_form') self.response.write('Active Form:'+ active_form) – bholben
當我查看最終寫入時,它只顯示「Active Form:」,沒有顯示active_form值。我還沒有想出價值何去何從。我是否隱藏了隱藏輸入的內容? – bholben
它應該很容易調試。首先查看HTML表單,如果隱藏的輸入保存活動表單值。 – voscausa