How to create a single checkbox in WTForms?

Viewed 11619

Most of the info I find online is for multiple checkboxes. I just want 1.

I have:

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)

And my 'category' template:

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

right now my browser renders this:

<peewee.BooleanField object at 0x105122ad0> Go!

Obviously I would like it to render the checkbox instead. How can I do this? Do I need a widget ?

1 Answers
Related