【发布时间】:2019-08-20 13:00:41
【问题描述】:
在使用 Flask-wtf 时应该如何实现日期选择器?
尝试使用网络上的各种示例,但似乎没有一个有效。
查看最新尝试的代码。
from flask import Flask, render_template, session, redirect, url_for, flash
from flask_bootstrap import Bootstrap
from flask_moment import Moment
from flask_wtf import FlaskForm, Form
from wtforms.fields.html5 import DateField
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired
from wtforms.fields import DateField
from flask_datepicker import datepicker
app = Flask(__name__)
app.config['SECRET_KEY'] = 'hard to guess string'
bootstrap = Bootstrap(app)
moment = Moment(app)
class LoginForm(FlaskForm):
entrydate = DateField('entrydate')
submit = SubmitField('Submit')
@app.route('/date', methods=['GET', 'POST'])
def datep():
form = LoginForm()
if form.validate():
return 'Form Successfully Submitted!'
return render_template('date.html', form=form)
模板文件:
{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{% block title %}Flasky{% endblock %}
{% block page_content %}
<div class="page-header">
<h1>Hello, select date!</h1>
</div>
{{ wtf.quick_form(form) }}
{% endblock %}
预期:查看下拉日期选择器。
实际:不显示日期选择器。
【问题讨论】:
-
另外,您还有两个名称为
DateField的导入。选择一个或使用as重命名 -
@AndrewAllen,感谢您的指点。我删除了第二个
datefield导入,这已经解决了这个问题。现在有一个下拉日历。