问题

最近在博客发表文章的时候,在前端添加了发表时间,添加了几偏文章发现时间都一样,这让我很疑惑,因为之前已经解决了flask-sqlalchemy定义字段默认时间的问题 , 所以排除掉flask-sqlalchemy的问题,FlaskForm应该也存在这个问题?经网络查证的确FlaskForm中的 DateTimeField也存在问题

问题代码:

class ArticleForm(FlaskForm):
    id = HiddenField('id')
    title = StringField('标题',validators=[DataRequired('请录入标题')])
    name = StringField('标识名称',render_kw={'placeholder':'自定义路径'})
    content = TextAreaField('文章内容')
    category_id = SelectField('分类',coerce=int, default=1,validators=[DataRequired('请选择分类')])
    tags = StringField('标签')
    state = HiddenField('状态',default=0)
    thumbnail = HiddenField('缩略图',default='/static/img/thumbnail.jpg')
    summary = HiddenField('概述')
    timestamp = DateTimeField('发布时间',default=datetime.now())        #问题代码,加有括号
    save = SubmitField('保存')

解决

修改DateTimeField默认值

timestamp = DateTimeField('发布时间',default=datetime.now)  # 不加括号