【发布时间】:2018-10-06 18:21:17
【问题描述】:
嗨,我已经成功使用 WTForms 很长一段时间了。
问题在于如何解析日期。
我一直习惯根据表单数据给变量赋值如下
firstname = form.firstname.data
这会将表单数据中的用户输入存储到我的名为“firstname”的变量中,它工作得很好,我的问题是日期方面。
我有以下代码
WTForms 类
class BookingForm(Form):
start_date = DateField('Start Date', format='%m/%d/%Y')
end_date = DateField('End Date', format='%m/%d/%Y')
预订路线
@app.route('/book/', methods=['GET','POST'])
@login_required
def book():
try:
form = BookingForm(request.form)
if request.method == "POST" and form.validate():
start_date = form.start_date.data
end_date = form.end_date.data
# I Have also tried form.start_date.data.strftime('%m-%d-%Y') with no luck
...
HTML 模板 {jinja}
<div class="col-md-4">
{{ render_date_field(form.start_date) }}
</div>
<div class="col-md-4">
{{ render_date_field(form.end_date) }}
</div>
我也在 python 中使用日期时间
from datetime import datetime
我一直在尝试关注许多关于如何将用户输入表单中的日期解析为变量的文档,但没有成功,有人知道正确的语法吗?
谢谢
【问题讨论】:
-
在浏览器中填写表单时必须强制执行指定的日期格式。您的日期格式为“%m/%d/%Y”。使用此格式的开始日期的示例日期为 10/06/2018。
wtf将其解析为 2018-10-06 并存储在form.start_date.data
标签: python python-3.x datetime flask flask-wtforms