Как я могу установить класс метки флажка с помощью wtforms? - PullRequest
0 голосов
/ 01 июня 2019

Я хотел бы использовать Bootstrap 4 формы .Это означает, что мне нужно добавить класс form-check-label к метке флажка.Как я могу это сделать?

Пример минимального кода

needs.txt

Flask==1.0.2
WTForms==2.2.1
Flask-WTF==0.14.2

app.py:

from flask import Flask, render_template
from flask_wtf import FlaskForm
from wtforms import BooleanField, StringField, PasswordField, SubmitField

app = Flask(__name__, template_folder="templates")
app.config['SECRET_KEY'] = 'http://flask.pocoo.org/docs/1.0/quickstart/#sessions'


class LoginForm(FlaskForm):
    username = StringField('Username')
    password = PasswordField('Password')
    remember_me = BooleanField("Remember Me")
    submit = SubmitField('Submit')


@app.route('/')
def index():
    form = LoginForm()
    return render_template('login.html', form=form)

app.run()

templates / login.html:

<form action="" method="post" class="form form-horizontal" role="form">
    {{ form.hidden_tag() }}
    <div class="form-group">
        {{ form.username.label }}<br>
        {{ form.username(size=32, class_="form-control") }}<br>
        {% for error in form.username.errors %}
        <span style="color: red;">[{{ error }}]</span>
        {% endfor %}
    </div>
    <div class="form-group">
        {{ form.password.label }}<br>
        {{ form.password(size=32, class_="form-control") }}<br>
        {% for error in form.password.errors %}
        <span style="color: red;">[{{ error }}]</span>
        {% endfor %}
    </div>
    <div class="form-check">
        {{ form.remember_me.label }}<br>  # form-check-label
       {{ form.remember_me(value='n', class_="form-check-input") }}
        {% for error in form.remember_me.errors %}
        <span style="color: red;">[{{ error }}]</span>
        {% endfor %}
    </div>
    {{ form.submit(class_="btn btn-primary") }}
</form>

1 Ответ

0 голосов
/ 01 июня 2019

Решение оказалось очень простым - я могу вызвать .label также как функцию, идентичную другим элементам:

{{ form.remember_me.label(class_="form-check-label") }}
...