2017-08-10 51 views
0

我在網上找到的大部分信息都是針對多個複選框的。我只想1.如何在WTForms中創建單個複選框?

我:

class CategoryForm(FlaskForm): 
    category = StringField('category',validators=[DataRequired()]) 
    checkbox = BooleanField('Private?') 

@app.route('/category/<categoryid>',methods=('GET','POST')) 
def category(categoryid): 
    category = Category.query.get(categoryid) 
    if request.method == 'POST': 
     if request.form.get('category'): 
      category.name = request.form['category'] 
      category.private = request.form['private'] 
      db.session.add(category) 
      db.session.commit() 
      return redirect(url_for('index')) 

    c_form = CategoryForm() 
    c_form.category.data = category.name 
    return render_template('category.html',form =c_form,category=category) 

而且我的 '分類' 模板:

<form method="post"> 
    {{ form.hidden_tag() }} 
    {{ form.checkbox }} 
    <button type="submit">Go!</button> 
</form> 

現在我的瀏覽器呈現這樣的:

<peewee.BooleanField object at 0x105122ad0> Go! 

很顯然,我會喜歡它來呈現複選框。我怎樣才能做到這一點?我需要一個小部件嗎?

+0

該代碼正常工作。至少在我的電腦裏。 – aristotll

+0

該代碼也適用於我的電腦。你從哪裏進口該領域? – SumanKalyan

回答

1

我的印象是您使用peewee的字段作爲您表單中的字段,這是行不通的。最有可能的情況是,你正在導入兩個導入,一個導入正在覆蓋另一個導入。

如果您需要在同一文件中同時存在模型和表單,請使用別名。

from peewee import BooleanField as PeeBool 

from wtforms import BooleanField as WTBool 
相關問題