Flask wtform DateTimefield 渲染问题
Flask wtform DateTimefield rendering issue
遇到 Flask wtform 的奇怪问题。我以 class 形式创建 DateTimeField,但是当我查看页面时,它显示为 type="text"
.
<input id="date" name="date" type="text" value="">
我希望它显示为 type="datetime-local"
,如果您不想手动输入,它会提供一个带有下拉日历和时间搜索的漂亮输入框。
此外,所有 IntegerField、FloatField 也是文本类型,而 BooleanField 和 PasswordField 则按其应有的方式运行。
也许我在这里遗漏了什么。 Flask 和 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)
核心 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()])
遇到 Flask wtform 的奇怪问题。我以 class 形式创建 DateTimeField,但是当我查看页面时,它显示为 type="text"
.
<input id="date" name="date" type="text" value="">
我希望它显示为 type="datetime-local"
,如果您不想手动输入,它会提供一个带有下拉日历和时间搜索的漂亮输入框。
此外,所有 IntegerField、FloatField 也是文本类型,而 BooleanField 和 PasswordField 则按其应有的方式运行。
也许我在这里遗漏了什么。 Flask 和 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)
核心 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()])