flask sqlachemy时间格式

flask sqlachemy time format

Posted by Caesar on June 29, 2020

问题

在flask-sqlachemy中,使用sqlachemy创建created字段

created = db.Column(db.DateTime,  nullable=False, default=datetime.now)

但是页面上读取数据库存入时间是

错误时间

修改

查询数据类型,Datetime是肯定带毫秒,除非使用String,存储时将当前时间格式化后存储。

数据模型 简单做法是定义jinja2中过滤方法,如下

@app.template_filter('strftime')
def datetime_format(date):
    return date.strftime("%Y-%m-%d %H:%M:%S")

在html中使用strftime

<span>作者:\{\{ article.user.name \}\}</span> <span>发表日期:\{\{ article.created | strftime \}\}</span>

效果如下:

正确时间