gpt4 book ai didi

python-3.x - 为什么我提交表单的尝试返回“无效的日期时间值”

转载 作者:行者123 更新时间:2023-12-03 17:21:48 25 4
gpt4 key购买 nike

我创建了一个允许用户选择所需日期和时间的表单,但是在提交表单时却收到此错误消息

Not a valid datetime value


我尝试包括所需的格式或标准的日期时间格式,但是得到了相同的结果

#Form.py
class AddPostForm(FlaskForm):
post_title = StringField('Share Title', validators=[DataRequired()])
description = StringField('Description', validators=[DataRequired()])
share_date = DateTimeField('Share Date', validators=[DataRequired()])


#views.py

@posts_blueprint.route('/add', methods=['GET', 'POST'])
@login_required
def add_post():
form = AddPostForm()
if request.method == 'POST':
if form.validate_on_submit():
new_post = Post(form.post_title.data, form.description.data,
current_user.id, form.share_date)


db.session.add(new_post)
db.session.commit()
flash('New shared Item, {}added!'.format(new_post.post_title),
'success')
return redirect(url_for('posts.user_posts'))
else:
flash_errors(form)
flash('ERROR! Recipe was not added.', 'error')

return render_template('add_post.html', title='Add Item', form=form)


#add_post.html
{% from "_form_macros.html" import render_errors %}
{% import "bootstrap/utils.html" as utils %}
{% import "bootstrap/wtf.html" as wtf %}
{% extends "layout.html" %}
{% block body %}

<div class="content-section">
<div class="page-header">
<h2>Add a New Post</h2>
</div>

<div class="container">
<form action="{{ url_for('posts.add_post') }}" method="post"
enctype="multipart/form-data">
{{ form.csrf_token }}
<div class="form-group row">
<legend for="post_title" class="col-form-legend col-sm-3">Title</legend>
<div class="col-sm-6">
<input type="text" class="form-control" id="post_title"
name="post_title" placeholder="Enter Post title...">
{{ render_errors(form.post_title) }}
</div>
</div>

<div class="form-group row">
<legend for="description" class="col-form-legend col-sm-
3">Description</legend>
<div class="col-sm-6">
<input type="text" class="form-control" id="description"
name="description" placeholder="Enter post description...">
{{ render_errors(form.description) }}
</div>
</div>

<div class="form-group row">
<legend for="share_date" class="col-form-legend col-sm-3">Sharing
Date</legend>
<div class="col-sm-6">
<input type="datetime-local" class="form-control" id="share_date"
name="share_date" placeholder="Sharing Date...">
{{ render_errors(form.share_date) }}
</div>
</div>

<div class="center">
<div class="offset-sm-2 col-sm-10">
<button type="submit" class="btn btn-success">Add post</button>
</div>
</div>
</form>
</div>
</div>
{% endblock %}


用户应该能够输入所需的日期和时间并成功提交表格

最佳答案

您的数据库期望与表单发送的似乎之间存在冲突。
尝试查看模型中使用的日期格式,并尝试将表单数据打印到控制台以查看其提供的功能。
也可以尝试查看wtforms的文档,以查看它使用的日期类型,并将其与数据库模型中的date字段匹配。

关于python-3.x - 为什么我提交表单的尝试返回“无效的日期时间值”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55910852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com