【问题标题】:Cannot get date from bootstrap WTForm无法从引导 WTForm 获取日期
【发布时间】: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


    【解决方案1】:

    您似乎没有将 Datetimepicker 链接到任何 HTML 元素。

    修复:像这样将.datepicker 类添加到form.dmrDate(class="")

    {{ form.dmrDate(class="form-control form-control-lg datepicker", type="date") }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多