python - 如何在 jinja2 模板中显示日期时间字段? ( flask )

标签 python google-app-engine flask jinja2

我有一个包含这两个值的表单(ndb 是 Google App Engine ndb model ):

型号:

class Appointment(model.Base):
    start_time = ndb.DateTimeProperty(required=True)
    end_time = ndb.DateTimeProperty(required=True)

表单(使用 wtforms):

class AppointmentUpdateForm(wtf.Form):
    start_time = wtforms.DateField('Start at', [wtforms.validators.required()])
    end_time = wtforms.DateField('End at', [wtforms.validators.required()])

在我的 jinja2 模板中:

  {{forms.date_field(form.start_time, format='%Y-%m-%d %H:%M:%S')}}
  {{forms.date_field(form.end_time)}}

我想将表单输入显示为时间小部件,但它看起来像一个日期字段。我认为 wtforms 有一个 date_time 字段,但我该如何实现它?

最佳答案

如果您想显示日期时间小部件,您需要创建一个自定义小部件。定义表格时 用你自己的小部件为它传递小部件

对于小部件,看一下这个例子:

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())

请记住,这是使用 Bootstrap 日期时间选择器,因此您必须包含 CSS 和 js。

关于python - 如何在 jinja2 模板中显示日期时间字段? ( flask ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26821713/

相关文章:

Python时间转换h :m:s to seconds

python - PySide QWebView 和下载不支持的内容

google-app-engine - 是否可以在我自己的服务器上运行 Google App Engine Development Server?

python - 使用 Flask-Login 获取 'str' 对象在 Flask 中没有属性 'is_authenticated'

javascript - 在 Flask 中保存 Canvas 中的图像

python - 如何检查 SQLAlchemy session 是否脏

python - 从复制和粘贴的 doctest 中删除 '>>> '

java - GAE/J : how do I get a User object from the user-id? 替代 : how come I can't set the nickname on a User object?

java - 有人用GAE进行Nat遍历吗? (作为保存映射的服务器)

python - Flask 内容配置 header 中的 Unicode