2016-01-14 88 views
2

表單處理的正確方式是什麼,它是可選的,不使用驗證?燒瓶表格處理

#forms.py: 
class PageForm(Form): 
    field1 = TextField('field1') 
    field2 = SelectField('field2', choices=choices) 

#views.py 
def page(): 
    if request.method == 'POST': 
     if request.form.get('field1'): 
      #some action 
     if request.form.get('field2'): 
      #some other action 

可以像這樣處理表格嗎?看起來很糟糕。

+1

你說的好是什麼意思?你能這樣做嗎?當然。有沒有更好的方法來做到這一點?大概。 如果你在燒瓶上尋找一個很好的教程,請查看這個教程 - http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iii-web-forms – Craicerjack

+0

是的。感謝您的教程,我已經閱讀過它。 – asyndrige

回答

1

總體而言,如果不需要表單驗證,則此類處理是正確的。只是一個建議:

使用method PARAM的app.route裝飾的:

@app.route('/', methods=['POST',]) 

與申報method==['POST',]裝修後,你的觀點接受僅POST請求,你可以剝去if statement

此外,您可以從request.form考慮增加一個form變量,所以您的代碼將變得更加冗長,沒有計劃數據將剝離

form = PageForm(request.form) 
# Than, access fields as form.<FIELD_NAME>.data 
+0

是的,我有裝飾,只是沒有粘貼。 – asyndrige

+0

@Bojczuk哦,greate。我還擴展了答案。 –