Форум сайта python.su
изучаю WTForms,
хочу рядом с полями в форме надпись написать - ну стало быть тег label
в доке таких примеров нет, пытаюсь понять сам
# class RegisterForm(Form): username = StringField('Username', validators=[Required(), Length(1, 16)]) password = PasswordField('Password', validators=[Required()]) password2 = PasswordField('Password2', validators=[Required()]) #label = Label(password2, 'metka_label') label = Label('Это метка', 'metka_label') # form.label = <label for="Это метка">metka_label</label>
# @app.route('/register', methods=['GET', 'POST']) def register(): form = RegisterForm() if form.validate_on_submit(): print('form.label = ', form.label) # показывает, что есть: form.label = <label for="Это метка">metka_label</label> # а на экране - нет!!! смотрю исходный код # страницы формы в браузере - метки нет !!! # остальные поля есть, и даже работают ! ........
Офлайн
Покажите как Вы форму выводите в jinja.
Офлайн
# @app.route('/register', methods=['GET', 'POST']) def register(): form = RegisterForm() if form.validate_on_submit(): print('form.label = ', form.label) # показывает, что есть: form.label = <label for="Это метка">metka_label</label> # а на экране - нет!!! смотрю исходный код # страницы формы в браузере - метки нет !!! # остальные поля есть, и даже работают ! ........ return render_template('registter.html', form=form)
{% extends "bootstrap/base.html" %} {% import "bootstrap/wtf.html" as wtf %} {% block title %}Login Example{% endblock %} {% block navbar %} <nav class="navbar navbar-inverse" role="navigation"> <div class="container"> <a class="navbar-brand" href="{{ url_for('index') }}"> Login Example </a> <ul class="nav navbar-nav"> <li><a href="{{ url_for('index') }}">Home</a></li> <li><a href="{{ url_for('protected') }}">Protected</a></li> </ul>> <ul class="nav navbar-nav navbar-right"> <li> {% if current_user.is_authenticated %} <a href="{{ url_for('logout') }}">Logout</a> {% else %} <a href="{{ url_for('login') }}">Login</a> {% endif %} </li> </ul> </div> </nav> {% endblock %} {% block content %} <div class="container"> {% block page_content %}{% endblock %} </div> {% endblock %}
{% extends "base.html" %} {% import "bootstrap/wtf.html" as wtf %} {% block title %} Register {% endblock %} {% block page_content %} <h1> Register </h1> <div class="row"> <div class="col-md-3"> {{ wtf.quick_form(form) }} </div> </div> {% endblock %}
Офлайн
wtf.html нужен
Офлайн
Koala
макрос рендера не будет рендерить отдельно лейбл, ренедрит только поля целиком
Офлайн
sander
Koalaмакрос рендера не будет рендерить отдельно лейбл, ренедрит только поля целиком
# class RegisterForm(Form): username = StringField('Username', validators=[Required(), Length(1, 16)]) password = PasswordField('Password', validators=[Required()]) password2 = PasswordField('Password2', validators=[Required()]) #label = Label(password2, 'metka_label') label = Label('Это метка', 'metka_label') # form.label = <label for="Это метка">metka_label</label>
Отредактировано Koala (Сен. 19, 2016 23:01:53)
Офлайн
4kpt_IV
wtf.html нужен
Отредактировано Koala (Сен. 19, 2016 23:00:35)
Офлайн
Вообще лучше все же форму собирать самому.
Я когда-то напили для себя универсальный шаблон и импортирую его где надо и где не надо…
Офлайн
Koala
сам создавай html форму и рендери отдельные поля (wtf.form_field)
Отредактировано sander (Сен. 20, 2016 21:34:14)
Офлайн