【问题标题】:Flask wtform DateTimefield rendering issue [duplicate]Flask wtform DateTimefield 渲染问题[重复]
【发布时间】:2018-04-06 16:45:17
【问题描述】:

Flask wtform 遇到一个奇怪的问题。我在类表单中创建了 DateTimeField,但是当我查看页面时,它显示为 type="text"

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

我希望它显示为type="datetime-local",如果您不想手动输入,它会提供一个带有下拉日历和时间搜索的漂亮输入框。

此外,所有 IntegerField、FloatField 也是类型文本,其中 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>

脚本.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)

【问题讨论】:

  • 首先,要获取type="datetime-local",需要使用date=DateTimeLocalField(...)
  • 尝试删除括号:{{ form.date }}
  • 请注意,Firefox 和 Safari 还没有实现好的 datetime-local 字段(尽管 iOS Safari 有?)。其他日期和时间输入类型也存在特定于浏览器的限制。见here

标签: python flask wtforms


【解决方案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()])

【讨论】:

    猜你喜欢
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 2021-04-15
    • 2011-06-03
    相关资源
    最近更新 更多