You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Flask/Jinja2为HTML date输入框传递值

问题解决:Flask传递日期到HTML date输入框不显示的问题

问题原因

HTML5的<input type="date">对value属性的格式有严格要求,必须是ISO 8601标准格式:YYYY-MM-DD。你当前用strftime("%x")生成的是本地化日期格式(比如12/05/2022),这种格式浏览器无法识别,所以输入框不会显示对应的日期。

解决方案

修改Flask视图中的日期格式化代码,改用%Y-%m-%d格式生成符合要求的日期字符串:

修改后的views.py代码

from datetime import datetime
from flask import render_template

@views.route('/')
def index(): 
    # 设置start_date为今天,使用ISO 8601格式
    start_date = datetime.now().strftime("%Y-%m-%d")
    return render_template('index.html', start_date=start_date)

HTML代码保持不变

<div class="date-input">
    <label for="start_date">Choose a start date:</label><br>
    <input type="date" name="start_date" value="{{ start_date }}"><br>
</div>

验证

修改后打印start_date,会得到类似2022-12-05的格式,此时浏览器就能正确识别并将该日期显示在日期输入框中。

内容的提问来源于stack exchange,提问作者Brandon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 22:20:28