Колба wtform DateTimefield рендеринг проблема

Получение странной проблемы с Flask wtform. Я создаю DateTimeField в форме класса, но при просмотре страницы он отображается как type="text",

<input id="date" name="date" type="text" value="">

Где, как я бы предпочел, чтобы это было показано как type="datetime-local", который дает хорошее поле ввода с выпадающим календарем и поиском времени, если вы не хотите вводить вручную.

Также все IntegerField, FloatField, также являются шрифтами типа text, где BooleanField и PasswordField работают так, как должны.

Может быть, я что-то здесь упускаю. Это возможно с колбой и wtforms? Любое руководство с благодарностью

Вот мой код:

index.html

<div class="container">
  <div class="row">
    <div class="col-xs-12">
      <p class="lead">This is the index page  </p>
      {{  form.date() }}
    </div>
  </div>
</div>

script.py

from flask import Flask, render_template
from flask_bootstrap import Bootstrap
from flask_wtf import FlaskForm
from wtforms import StringField, DateTimeField,  BooleanField
from wtforms.validators import Required
from data import ACTORS

app = Flask(__name__)
app.config['SECRET_KEY'] = 'some?bamboozle#string-foobar'
Bootstrap(app)
app.config['BOOTSTRAP_SERVE_LOCAL'] = True

class NameForm(FlaskForm):
    date = DateTimeField('Which date is your favorite?', format='%m/%d/%y', validators=[Required()])

@app.route('/', methods=['GET', 'POST'])
@app.route('/index.html', methods=['GET', 'POST'])
def index():

    form = NameForm()

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

if __name__ == '__main__':
    app.run(debug=True)

1 ответ

Решение

Ядро wtforms DateTimeField обеспечивает только ввод текста. Я думаю, что вы хотите, это:

from wtforms import StringField, BooleanField
from wtforms.fields.html5 import DateTimeLocalField

class NameForm(FlaskForm):
    date = DateTimeLocalField('Which date is your favorite?', format='%m/%d/%y', validators=[Required()])
Другие вопросы по тегам