Атрибут label
Атрибут label принадлежит классу Field из библиотеки Flask-WTF
и представляет собой объект Label, связанный с конкретным полем формы.
Через этот атрибут можно получить или изменить текст подписи, который
отображается рядом с полем в HTML-шаблоне. Атрибут доступен только для чтения
на уровне ссылки на объект, но его внутренние свойства, такие как text,
можно изменять.
Синтаксис
field.label
field.label.text
Пример
Давайте создадим форму с полем name и выведем значение атрибута
label.text в консоль:
from flask import Flask
from flask_wtf import FlaskForm
from wtforms import StringField
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret'
class MyForm(FlaskForm):
name = StringField('Enter name')
with app.app_context():
form = MyForm()
res = form.name.label.text
print(res)
Результат выполнения кода:
"Enter name"
Пример
Давайте изменим текст подписи через атрибут label.text
и выведем форму в шаблоне:
from flask import Flask, render_template
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret'
class MyForm(FlaskForm):
name = StringField('Old label')
submit = SubmitField('Send')
@app.route('/', methods=['GET', 'POST'])
def index():
form = MyForm()
form.name.label.text = 'New label'
return render_template('index.html', form=form)
Результат выполнения кода в браузере:
Пример
Давайте получим текст подписи поля email и передадим его
в шаблон отдельной переменной:
from flask import Flask, render_template
from flask_wtf import FlaskForm
from wtforms import StringField
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret'
class MyForm(FlaskForm):
email = StringField('Email address')
@app.route('/')
def index():
form = MyForm()
label_text = form.email.label.text
return render_template('index.html', form=form, label_text=label_text)
{{ label_text }}
{{ form.email.label }} {{ form.email }} <-jinja+>Результат выполнения кода в браузере:
Email address
<-html+>Смотрите также
-
класс
Field,
которому принадлежит атрибут label -
атрибут
name,
который хранит имя поля формы -
атрибут
id,
который задаёт идентификатор поля -
атрибут
description,
который хранит описание поля