1
我是Django,GAE的新手,並且在嘗試使用Django構建一些動態表單時遇到了一些問題。這個想法是,從一個下拉框中進行的選擇決定了另一個字段的值。由GAE主持的Django中的動態表格
詳細地,如果一個用戶
- 選擇「物種」,「A」,然後在「body_weight」的值將是178。類似地,
- 如果他選擇「B」「物種」,在值‘body_weight’是1580,和
- 如果選擇‘C’中的‘種’,在他可以填寫‘body_weight’
我看了一些例子,並發現了一些功能像「初始化,超級應該包括在內」。因此我修改了我的代碼,但它仍然無效。
我的問題是:
- 什麼,是把 「INIT」 和 「超級」 正確的位置?
- 我需要「self.field」嗎?
歡迎您提出任何建議!
謝謝!
這是代碼。
Species_CHOICES=(('178','A'),('1580','B'),('','C'))
class Inp(forms.Form):
Species = forms.ChoiceField(label='Species', choices=Species_CHOICES, initial='A')
#Here detect the choice made by the user
def get_STB_choices(Species):
if Species=='178':
r= 178
elif Species=='1580':
r= 1580
else:
r= 4440
return a
#assign values to a new parameter based on user's choice
def __init__(self, *args, **kwargs):
super(Inp, self).__init__(*args, **kwargs)
body_weight=forms.FloatField(required=True, label='Body weight', initial=get_STB_choices(Species))
#write out in HTML
class InputPage(webapp.RequestHandler):
def get(self):
html = str(Inp())
self.response.out.write(html)
謝謝你,他LP,但是這可以在不導入Ajax的情況下完成? – 2012-03-16 17:33:42
我相信丁字褲的問題比這更簡單:給定幾個可能的用戶輸入之一,如何使用Django表單在模型中存儲不同的對應值(而不是輸入本身)? – 2012-03-16 19:01:29
@丹桑德森,你是對的。我的目的是保存並顯示(需要即時網頁刷新)兩個輸入,第一個來自用戶的選擇,另一個取決於前一個。將來,我會將這些輸入發送到基於雲的SQL。那麼建議?謝謝! – 2012-03-16 20:05:12