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

Поле формы SubmitField

Поле SubmitField применяется внутри класса формы Flask-WTF и создаёт кнопку отправки формы. Первым параметром передаётся подпись кнопки, которая отображается пользователю. При нажатии на кнопку браузер отправляет форму на сервер, а значение поля попадает в данные формы.

Поле наследуется от класса Field и автоматически рендерится как HTML-тег <input type="submit"> при использовании в Jinja-шаблоне.

Синтаксис

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

Пример

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

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

Создадим шаблон для вывода формы:

<form method="post"> {{ form.submit() }} </form>

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

<input id="submit" name="submit" type="submit" value="Send">

Пример

Давайте добавим к форме текстовое поле и обработаем отправку:

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

Создадим шаблон для вывода формы:

<form method="post"> {{ form.name.label }} {{ form.name() }} {{ form.submit() }} </form>

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

abcde

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

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