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

Поле формы DateTimeField

Класс DateTimeField применяется для создания поля формы, в котором пользователь вводит дату и время. Это поле преобразует введённую строку в объект datetime.datetime. Первым параметром передаётся подпись поля, а именованным параметром format можно задать ожидаемый формат ввода даты и времени.

Синтаксис

from wtforms import DateTimeField field = DateTimeField(label, [validators], format='%Y-%m-%d %H:%M')

Пример

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

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

Теперь создадим шаблон для отображения формы:

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

После ввода значения 2024-05-01 12:30 и отправки формы на странице появится результат:

2024-05-01 12:30:00

Пример

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

from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import DateTimeField, SubmitField app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' class MyForm(FlaskForm): event = DateTimeField('Event time', format='%d.%m.%Y %H:%M') submit = SubmitField('Send') @app.route('/', methods=['GET', 'POST']) def index(): form = MyForm() res = None if form.validate_on_submit(): res = form.event.data return render_template('index.html', form=form, res=res)

Шаблон останется прежним:

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

После ввода значения 01.05.2024 12:30 и отправки формы на странице появится результат:

2024-05-01 12:30:00

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

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