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

Поле формы HiddenField

Класс HiddenField создаёт скрытое поле формы. Такое поле не отображается в браузере, но его значение отправляется на сервер вместе с остальными полями. Первым параметром передаётся подпись поля, а именованные параметры задают значение по умолчанию, валидаторы и другие настройки.

Синтаксис

HiddenField(label, [default], [validators])

Пример

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

from flask import Flask, render_template, request from flask_wtf import FlaskForm from wtforms import HiddenField, SubmitField app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' class MyForm(FlaskForm): token = HiddenField('Token', default='abcde') submit = SubmitField('Send') @app.route('/', methods=['GET', 'POST']) def index(): form = MyForm() res = None if form.validate_on_submit(): res = form.token.data return render_template('index.html', form=form, res=res)

Шаблон для вывода формы и результата:

<form method="post"> {{ form.hidden_tag() }} {{ form.submit() }} </form> {% if res %} <p>{{ res }}</p> {% endif %}

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

abcde

Пример

Скрытые поля часто применяются для передачи идентификатора записи. Давайте передадим user_id:

from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import HiddenField, StringField, SubmitField app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' class UserForm(FlaskForm): user_id = HiddenField('User ID', default='user') name = StringField('Name') submit = SubmitField('Save') @app.route('/', methods=['GET', 'POST']) def index(): form = UserForm() res = None if form.validate_on_submit(): res = form.user_id.data return render_template('index.html', form=form, res=res)

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

<form method="post"> {{ form.hidden_tag() }} {{ form.name() }} {{ form.submit() }} </form> {% if res %} <p>{{ res }}</p> {% endif %}

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

user

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

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