как добавить класс для метки в начальной загрузке - PullRequest
0 голосов
/ 28 апреля 2018

Использование quick_form Flask-Bootstrap для создания формы очень удобно для меня, однако я не смог найти в их документации способ, которым я могу добавить дополнительный класс к label, как того требует моя тема шаблона.

Мой класс forms.py выглядит так:

from flask_wtf import Form
from wtforms import StringField,PasswordField,TextField,SubmitField
from wtforms.validators import InputRequired,EqualTo,Email,ValidationError

class Building_Form(Form):
    BuildingName = TextField('Building Name')
    BuildingType = TextField('Building Type')
    FloorNums    = TextField('Numers of Floor')
    BuildUnits   = TextField('Units in Building')
    BuildSize    = TextField('Building Size')
    BuiltYear    = TextField('Built in (year)')
    BuildOpeningTime = TextField('Open Time')
    BuildClosingTime = TextField('Close Time')

Мой rout.py выглядит следующим образом:

from app.import_core import *
from flask_wtf import FlaskForm
from wtforms import Form, BooleanField, StringField, PasswordField, validators
from wtforms.validators import DataRequired
from flask_wtf.file import FileField, FileRequired
from werkzeug.utils import secure_filename
from werkzeug.security import generate_password_hash, check_password_hash


from .forms import Building_Form
# from app.user.models import TBL_USER

import pdb

@app.route('/building')
def show_building_listing():

    return render_template('building_listing.html')

@app.route('/builing/new',methods=['GET','POST'])
def add_new_builing():
    form = Building_Form()
    if request.method=='POST':
        return '<h1>Ok Building added</h1>'

    return render_template('new_building.html',form=form)

Мой new_building.html для отображения формы:

{% extends "__dashboard.html" %}
{% import "bootstrap/wtf.html" as wtf %}

{% block include_css %}
  <link rel="stylesheet" href="{{url_for('static',filename='css/login.css')}}">
  <link rel="stylesheet" href="{{url_for('static',filename='css/bt-social-button/bootstrap-social.css')}}">
{% endblock %}

{% block content %}

  <div class="card">
    <div class="card-body">
      {{ wtf.quick_form(form, extra_classes='bmd-label-floating') }}
    </div>
  </div>
{% endblock %}

Я хотел бы добавить классы bmd-label-floating к метке формы, но вместо этого эти классы оказались в <form>.

Как я могу добавить этот класс своим ярлыкам? Благодарю.

1 Ответ

0 голосов
/ 06 июня 2018

У меня была похожая проблема. Список элементов был использован для создания формы с несколькими флажками. Мне нужно было добавить класс меток для их горизонтального оформления. Мне удалось пройти через мой объект формы и изменить класс для формы field.label.

<form action="" method="post">

{% with test = form.example %}
{% for field in test %}
    {{ field.label(class_='checkbox-inline') }}
    {{ field }}
{% endfor %}
{% endwith %}

<p>{{ form.submit() }}</p>
</form>
...