【发布时间】:2021-02-26 00:06:09
【问题描述】:
我正在使用 WTForm 和引导程序从用户那里获取日期。该页面可以很好地加载表单以输入日期。我可以点击日期。点击提交,但我的 print(form.dmrDate.data) 返回 None。
我认为问题在于我的引导程序和 WTForms 日期格式之间存在不一致,这是利用 datetimepicker 的最新迭代。 Datetimepicker 似乎是获取日期的流行工具,但我对替代方案持开放态度。任何想法我做错了什么?
另外,我想要 %m/%d/%Y 中的日期。
Routes.py
from flask import url_for, redirect
from dmrApp.models import Restaurants
from dmrApp.forms import DashboardForm
@app.route('/dashboard', methods=["GET","POST"])
def dashboard():
form=DashboardForm()
restaurants = Restaurants.query.with_entities(Restaurants.name).all()
print(form.dmrDate.data)
return render_template('dashboard.html', title='Dashboard', form=form, restaurants=restaurants)
Forms.py
from flask_wtf import FlaskForm
from wtforms import DateField
from wtforms.validators import DataRequired
from wtforms_sqlalchemy.fields import QuerySelectField
class DashboardForm(FlaskForm):
restaurant = QuerySelectField(query_factory=choice_query, allow_blank=True,
validators=[DataRequired()], get_label='name')
dmrDate = DateField('date', validators=[DataRequired()], format='%m/%d/%Y')
我的 html/bootstrap:
<div class="form-group">
<div class="form-group row">
Select date:
{{ form.dmrDate(class="form-control form-control-lg", type="date") }}
{% if form.dmrDate.errors %}
<div class="invalid-feedback">
{% for error in form.dmrDate.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% endif %}
</div>
</div>
数据选择器的java
<script>
$('.datepicker').datetimepicker({
format: 'MM/DD/YYYY'
});
</script>
【问题讨论】:
标签: python bootstrap-4 datetimepicker flask-wtforms