Nim*_*ima 3 python google-app-engine jinja2 flask
我有一个包含这两个值的表单(ndb 是 Google App Engine ndb 模型):
模型:
class Appointment(model.Base):
start_time = ndb.DateTimeProperty(required=True)
end_time = ndb.DateTimeProperty(required=True)
Run Code Online (Sandbox Code Playgroud)
表单(使用 wtforms):
class AppointmentUpdateForm(wtf.Form):
start_time = wtforms.DateField('Start at', [wtforms.validators.required()])
end_time = wtforms.DateField('End at', [wtforms.validators.required()])
Run Code Online (Sandbox Code Playgroud)
在 jinja2 模板中,我有:
{{forms.date_field(form.start_time, format='%Y-%m-%d %H:%M:%S')}}
{{forms.date_field(form.end_time)}}
Run Code Online (Sandbox Code Playgroud)
我想将表单输入显示为时间小部件,但它看起来像一个日期字段。我认为 wtforms 有一个 date_time 字段,但我该如何实现呢?
如果要显示日期时间小部件,则需要创建自定义小部件。定义表单时,使用您自己的小部件为其传递小部件
到widget,看看这个例子:
https://github.com/dpgaspar/Flask-AppBuilder/blob/master/flask_appbuilder/fieldwidgets.py#L5
然后像这样定义表单:
class AppointmentUpdateForm(wtf.Form):
start_time = wtforms.DateField('Start at', [wtforms.validators.required()], widget=DatePickerWidget())
end_time = wtforms.DateField('End at', [wtforms.validators.required()], widget=DatePickerWidget())
Run Code Online (Sandbox Code Playgroud)
请记住,这是使用引导日期时间选择器,因此您必须包含 CSS 和 js。
| 归档时间: |
|
| 查看次数: |
5196 次 |
| 最近记录: |