如何在Jinja模板中将字符串转为整数?解决时间比较类型错误
解决Jinja模板中字符串转整数的问题
问题核心是你截取的today.lunch_time[:2]属于字符串类型,直接和整数12比较会触发类型错误。Jinja内置了int过滤器可将字符串转为整数,以下是修正后的完整代码:
{% if today.lunch_time[:2]|int > 12 %} <p>Lunch Time : {{ (today.lunch_time[:2]|int - 12) }}{{ today.lunch_time[2:] }} PM</p> {% else %} <p>Lunch Time : {{ today.lunch_time }} AM</p> {% endif %}
关键说明:
- 用
|int过滤器把截取的小时字符串(如'14')转为整数,就能正常和12做数值比较 - 修正后的代码保留了分钟部分(
today.lunch_time[2:]),避免只显示小时的缺失问题 - 对于'09:30'这类以0开头的小时字符串,
int过滤器会自动转换为整数9,不影响逻辑判断
内容的提问来源于stack exchange,提问作者Abdul Rafay
相关产品推荐
相关产品推荐

