Flask-Admin自定义日期时间视图

时间:2014-02-23 12:11:28

标签: flask flask-admin

使用flask-admin时,datetime字段的列表视图如下所示:“2014-02-22 13:30:43”。 我想知道是否可以更改此默认视图,如下所示:“2014-02-22”或“2014-02-22 13:30”。

感谢

2 个答案:

答案 0 :(得分:5)

是的,您可以设置column_type_formatters来定义默认格式。此外,您可以将column_formatters设置为仅将自定义格式用于列表视图中的一列。

https://flask-admin.readthedocs.org/en/latest/api/mod_model/#flask.ext.admin.model.BaseModelView.column_formatters https://flask-admin.readthedocs.org/en/latest/api/mod_model/#flask.ext.admin.model.BaseModelView.column_type_formatters

答案 1 :(得分:1)

    def date_format(view, value):
        return value.strftime('%Y-%m-%d')

    MY_DEFAULT_FORMATTERS = dict(typefmt.BASE_FORMATTERS)
    MY_DEFAULT_FORMATTERS.update({
        date: date_format
    })

    form_args = dict(
        time = dict(validators=[DataRequired()],format='%Y-%m-%d %H:%M')
    )
    form_widget_args = dict(
        time={'data-date-format': u'YYYY-MM-DD HH:mm'} 
    )
    column_type_formatters = MY_DEFAULT_FORMATTERS

这会将日期格式更改为2014-02-22 13:30。