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

Метод process

Метод process применяется к экземпляру класса FlaskForm и обрабатывает входящие данные формы. Первым параметром передаётся объект запроса request из Flask, вторым - словарь дополнительных данных. Метод заполняет поля формы значениями и запускает валидаторы, сохраняя результат в атрибуте errors.

Синтаксис

form.process(formdata, [data])

Пример

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

from flask import Flask, request from flask_wtf import FlaskForm from wtforms import StringField, SubmitField app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' class MyForm(FlaskForm): name = StringField('Name') submit = SubmitField('Send') @app.route('/', methods=['GET', 'POST']) def index(): form = MyForm() form.process(request) return str(form.data)

Результат выполнения кода для POST-запроса с полем name=abcde:

{'name': 'abcde', 'submit': False, 'csrf_token': '...'}

Пример

Давайте передадим дополнительные данные вторым параметром:

from flask import Flask, request from flask_wtf import FlaskForm from wtforms import StringField, SubmitField app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' class MyForm(FlaskForm): name = StringField('Name') submit = SubmitField('Send') @app.route('/', methods=['GET', 'POST']) def index(): form = MyForm() form.process(request, data={'name': 'hello'}) return str(form.data)

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

{'name': 'hello', 'submit': False, 'csrf_token': '...'}

Пример

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

from flask import Flask, request from flask_wtf import FlaskForm from wtforms import StringField, SubmitField from wtforms.validators import DataRequired app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' class MyForm(FlaskForm): name = StringField('Name', validators=[DataRequired()]) submit = SubmitField('Send') @app.route('/', methods=['GET', 'POST']) def index(): form = MyForm() form.process(request) return str(form.errors)

Результат выполнения кода для POST-запроса с пустым полем name:

{'name': ['This field is required.']}

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

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