如何在Jinja表格中将两个整数拼接为mm/dd格式的字符串
解决方案
你写的/放在{{ }}内部时,会被模板引擎识别为算术除法运算符,所以才会出现计算结果。要得到拼接后的日期格式,直接把斜杠放在两个变量插值语句的中间即可,示例写法如下:
<td>{{ birthday.month }}/{{ birthday.day }}</td>
这种写法下,两个变量会分别解析为对应数字,斜杠作为普通字符串原样输出,最终就能得到你要的7/31格式。
如果需要对个位数的月、日补前导零(比如1月5日显示为01/05),可以用格式化过滤器实现,不同模板生态的写法略有差异:
- 类Jinja2/Python模板:
<td>{{ "%02d/%02d"|format(birthday.month, birthday.day) }}</td> - JavaScript类模板(Vue/React等):
<!-- Vue 写法 --> <td>{{ `${birthday.month.toString().padStart(2,'0')}/${birthday.day.toString().padStart(2,'0')}` }}</td> <!-- JSX 写法 --> <td>{`${birthday.month.toString().padStart(2,'0')}/${birthday.day.toString().padStart(2,'0')}`}</td>
也可以显式用字符串拼接运算符避免语法歧义,比如Jinja2中用~拼接:
<td>{{ birthday.month ~ '/' ~ birthday.day }}</td>
JS类模板中用+拼接:
<td>{{ birthday.month + '/' + birthday.day }}</td>
内容的提问来源于stack exchange,提问作者Clasher13
相关产品推荐
相关产品推荐

