Wtforms.fields.html5 DateField和TimeField占位符

问题描述 投票:0回答:1

使用烧瓶应用程序,用于以下形式:

...
from wtforms.fields.html5 import DateField, TimeField
...
class PostForm(FlaskForm):
    date_posted  = DateField('Date',format='%Y-%m-%d')
    time_posted  = TimeField('Time',format='%H:%M')

如何获取它作为占位符返回当前日期和时间?在输入有效日期之前,日期和计时器选择器将不允许提交。默认情况下,我希望页面刷新,以便日期和时间选择器显示当前日期和时间,因此即使没有更改也可以提交帖子。

enter image description here

@app.route("/post/new", methods=['GET', 'POST'])
def new_post():
    form = PostForm()
    if form.validate_on_submit():
        post = Post(date_posted=form.date_posted.data,
                    time_posted=form.time_posted.data)
        db.session.add(post)
        db.session.commit()
        return redirect(url_for('home'))
    return render_template('create_post.html', title='New Post', form=form, legend='New Post')

非常感谢您的帮助

python flask flask-wtforms wtforms
1个回答
0
投票

您可以使用default参数传递表单字段的默认值。根据您的情况,使用datetime.datetime.now()获取当前日期和时间:

from datetime import datetime


class PostForm(FlaskForm):
    date_posted  = DateField('Date',format='%Y-%m-%d', default=datetime.now())
    time_posted  = TimeField('Time',format='%H:%M', default=datetime.now())

尚未测试,请尝试一下,希望对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.