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

Метод populate_obj

Метод populate_obj применяется к экземпляру формы WTForms и копирует значения всех полей формы в одноимённые атрибуты указанного объекта. Первым параметром передаётся объект, атрибуты которого нужно заполнить, например модель базы данных или произвольный класс.

Синтаксис

form.populate_obj(obj)

Пример

Давайте создадим форму с двумя полями и заполним данными из неё объект класса User:

from flask import Flask from flask_wtf import FlaskForm from wtforms import StringField, IntegerField app = Flask(__name__) app.secret_key = 'abcde' class UserForm(FlaskForm): name = StringField('Name') age = IntegerField('Age') class User: pass @app.route('/', methods=['POST']) def index(): form = UserForm() user = User() form.populate_obj(user) return user.name + ' ' + str(user.age)

Результат выполнения кода для данных name=abcde и age=25:

<+html+> abcde 25 <-html+>

Пример

Давайте применим метод populate_obj к форме, связанной с моделью базы данных, чтобы обновить запись:

from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import StringField app = Flask(__name__) app.secret_key = 'abcde' class ArticleForm(FlaskForm): title = StringField('Title') class Article: def __init__(self, title): self.title = title @app.route('/', methods=['GET', 'POST']) def index(): article = Article('article') form = ArticleForm(obj=article) if form.validate_on_submit(): form.populate_obj(article) return render_template('index.html', title=article.title) return render_template('index.html', title=article.title)

Шаблон для вывода заголовка статьи:

<+jinja+>

{{ title }}

<-jinja+>

Результат выполнения кода после отправки формы со значением hello:

<+html+> hello <-html+>

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

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