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

Поле формы SelectField

Класс SelectField применяется для создания поля формы в виде выпадающего списка. Первым параметром передаётся подпись поля, вторым - список вариантов выбора в виде пар «значение - отображаемый текст». После отправки формы выбранное значение доступно в атрибуте data поля.

Синтаксис

SelectField(label, choices, [validators], [default])

Пример

Давайте создадим форму с выпадающим списком из трёх вариантов:

from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import SelectField, SubmitField app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' class MyForm(FlaskForm): choice = SelectField('Choice', choices=[ ('1', 'Variant 1'), ('2', 'Variant 2'), ('3', 'Variant 3') ]) submit = SubmitField('Send') @app.route('/', methods=['GET', 'POST']) def index(): form = MyForm() if form.validate_on_submit(): return form.choice.data return render_template('index.html', form=form)

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

<form method="post"> {{ form.choice.label }} {{ form.choice }} {{ form.submit }} </form>

После выбора второго варианта и отправки формы результат выполнения кода:

"2"

Пример

Давайте зададим значение по умолчанию и валидатор обязательного выбора:

from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import SelectField, SubmitField from wtforms.validators import DataRequired app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' class MyForm(FlaskForm): choice = SelectField('Choice', choices=[('a', 'A'), ('b', 'B'), ('c', 'C')], default='b', validators=[DataRequired()] ) submit = SubmitField('Send') @app.route('/', methods=['GET', 'POST']) def index(): form = MyForm() if form.validate_on_submit(): return form.choice.data return render_template('index.html', form=form)

При открытии страницы в списке будет выбран вариант 'B', а при отправке форма вернёт:

"b"

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

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