2017-08-10 30 views
0

私がオンラインで見つけた情報のほとんどは、複数のチェックボックス用です。私は希望明らかWTFormsで単一のチェックボックスを作成するには?

<peewee.BooleanField object at 0x105122ad0> Go! 

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

今私のブラウザはこのレンダリング:

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) 

そして、私の 'カテゴリ' テンプレートを:私はちょうど私が持っている1

たい代わりにチェックボックスをレンダリングするようにしてください。これどうやってするの?私はウィジェットが必要ですか?

+0

コードは正常に動作します。少なくとも私のコンピュータでは。 – aristotll

+0

コードもコンピュータで正常に動作します。フィールドをどこからインポートしていますか? – SumanKalyan

答えて

1

フォーム内のフィールドとしてpeeweeのフィールドを使用しているという印象を受けていますが、これはうまくいきません。最も可能性の高いケースは、両方をインポートしており、1つのインポートがもう一方を上書きしている場合です。

モデルとフォームの両方を同じファイルに保存する必要がある場合は、エイリアスを使用します。

from peewee import BooleanField as PeeBool 

from wtforms import BooleanField as WTBool 
関連する問題