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

Поле формы URLField

Поле URLField применяется к классу формы Flask-WTF и создаёт текстовое поле для ввода URL-адреса. При валидации проверяется, что введённое значение является корректным URL. Первым параметром передаётся подпись поля, а именованными параметрами задаются дополнительные настройки: validators, default, render_kw и другие.

Синтаксис

URLField(label, [validators], [default], [render_kw])

Пример

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

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

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

<form method="post"> {{ form.csrf_token }} <p>{{ form.url.label }} {{ form.url }}</p> <p>{{ form.submit }}</p> </form> {% if res %} <p>{{ res }}</p> {% endif %}

После отправки корректного адреса, например https://code.mu, на странице появится введённое значение.

Пример

Давайте проверим, как поле реагирует на некорректный URL. Валидация вернёт ошибку, если значение не является URL-адресом:

from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import URLField, SubmitField from wtforms.validators import DataRequired app = Flask(__name__) app.config['SECRET_KEY'] = 'secret' class SiteForm(FlaskForm): url = URLField('Site', validators=[DataRequired()]) submit = SubmitField('Send') @app.route('/', methods=['GET', 'POST']) def index(): form = SiteForm() if form.validate_on_submit(): res = form.url.data else: res = form.url.errors return render_template('index.html', form=form, res=res)

При вводе строки 'abcde' в списке ошибок появится сообщение о неверном URL.

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

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