簡體   English   中英

將wtforms 0.6升級到1.0 Form TextField數據無

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM