+-

我在Flask上做了一个项目,我需要为项目中的 wtforms.DateTimeField()
def new_edit_task(task):
class EditTask(FlaskForm):
new_name = StringField('Name of task', validators=[DataRequired()], default=task.name)
new_description = TextAreaField('Description', validators=[DataRequired()], default=task.description)
new_deadline = DateTimeField("Deadline", format='%Y-%m-%dT%H:%M',
default=task.deadline)
new_link = StringField('Email', validators=[DataRequired()], default=task.link)
submit = SubmitField('Отправить')
return EditTask()
任务 是一个SQLAlchemy模型和 任务期限 是 日期时间.日期时间 对象。
我就是这样渲染的 新的截止日期 HTML中的字段。
{{ form.new_deadline(class="half-width", type='datetime-local') }}<br>
{% for error in form.new_deadline.errors %}
<p class="alert alert-danger" role="alert">
{{ error }}
</p>
{% endfor %}
表格 是 编辑表格 此处
但它不工作。页面上有 "dd.mm.yyy--:--"。
请你给我解释一下,我到底做错了什么?
0
投票
投票
你的 任务期限 只返回数据库中的值。我想是以dd.mm.yyy格式。请注意 format='%Y-%m-%dT%H:%M' 对默认数据不做任何处理。该模式用于检查输入数据。
task.deadline 值应该在表单中使用前正确重新格式化。
0
投票
投票
所以,我已经解决了这个问题。
不使用 DateTimeField 并将该字段与 type="datetime-local",我用 DateTimeLocalField 从 wtforms.field.html5. 而这实际上是工作!