РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
315 of 643 menu

Поле формы BooleanField

Класс BooleanField применяется для создания поля-флажка в форме Flask-WTF. Первым параметром передаётся подпись поля, которая отображается рядом с чекбоксом. Значение поля хранится в атрибуте data и принимает True, если флажок установлен, и False в противном случае.

Синтаксис

from wtforms import BooleanField field = BooleanField(label, [validators])

Пример

Давайте создадим простую форму с одним флажком:

from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import BooleanField, SubmitField app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' class MyForm(FlaskForm): agree = BooleanField('Agree') submit = SubmitField('Send') @app.route('/', methods=['GET', 'POST']) def index(): form = MyForm() if form.validate_on_submit(): return str(form.agree.data) return render_template('index.html', form=form)

Шаблон для вывода формы:

<form method="post"> {{ form.hidden_tag() }} <p>{{ form.agree() }} {{ form.agree.label }}</p> <p>{{ form.submit() }}</p> </form>

Если пользователь установит флажок и отправит форму, в ответ вернётся:

True

Пример

Давайте используем BooleanField вместе с валидатором DataRequired, чтобы обязать пользователя установить флажок:

from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import BooleanField, SubmitField from wtforms.validators import DataRequired app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' class MyForm(FlaskForm): agree = BooleanField('Agree', validators=[DataRequired()]) submit = SubmitField('Send') @app.route('/', methods=['GET', 'POST']) def index(): form = MyForm() if form.validate_on_submit(): return 'accepted' return render_template('index.html', form=form)

Если флажок не установлен, форма не пройдёт валидацию, а при успешной отправке сервер вернёт:

"accepted"

Пример

Давайте зададим начальное значение флажка через параметр default:

from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import BooleanField app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' class MyForm(FlaskForm): agree = BooleanField('Agree', default=True) @app.route('/') def index(): form = MyForm() return str(form.agree.data)

Результат выполнения кода:

True

Смотрите также

  • класс Form,
    который является базовым классом для форм Flask-WTF
  • метод validate_on_submit,
    который проверяет отправку и валидность формы
  • атрибут data,
    который хранит значение поля формы
  • валидатор DataRequired,
    который требует обязательного заполнения поля
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить