![](/img/trans.png)
[英]Python flask WTForms custom validation - cant get data from form, is None
[英]Upgrade wtforms 0.6 to 1.0 Form TextField data None
我有一個flask / wtforms應用程序,我正在從wtforms 0.6.ish升級到1.0.5。 開發箱是使用wtforms 0.6的ubuntu,而產品將是使用wtforms 1.0.5的亞馬遜ami。
為了所有人的利益,到目前為止,進行了以下更改:
從:
from flask.ext.wtf import Form, TextField
from flask.ext.wtf import Required
至:
from wtforms import Form, TextField, validators
從:
def index():
form=SubmitForm()
if form.validate_on_submit():
return render_template('js.html',ht=form.ht.data)
至:
def index():
form=SubmitForm
if request.method == 'POST' and form.validate():
return render_template('js.html',ht=form.ht.data)
也:
class SubmitForm(Form):
ht = TextField('ht', validators = [Required()])
class SubmitForm(Form):
ht = TextField('ht', [validators.Required()])
問題在於,在wtforms 1.0.5中,從未設置過形式變量“ ht”。 如果我嘗試將其打印到控制台,則為“無”。 我尚未對模板進行任何更改。 我可以在該類中設置一個默認值,但不會被用戶在表單上輸入的內容代替。
在新的控制器中,您實際上並沒有創建提交表單的實例(缺少括號)。 同樣,您從Flask-WTForms擴展名切換到普通WTForms。 Flask-WTForms自動使用request.form
因此您不必-如果要使用香草WTForms,則需要將request.form
傳遞給構造函數。
# You have
form=SubmitForm
# It should be
form = SubmitForm(request.form)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.