html文件里通过{{ }}运行的python语句不支持字符串处理

来源:5-6 网易新闻数据新增

慕婉清7059351

2019-06-27

请问老师:
html文件里通过{{ }}运行的python语句不支持字符串处理。问题如下:
同样一句话

print(str(pro.items[0].CastingDate).replace("2019-", ""))

能得到想要的结果
但是在html文件里写

{% for n in pro.items %}
<tr>
<td>{{ str(n.CastingDate).replace("2019-", "") }}</td>
</tr>
{% endfor %}

就报错提示
jinja2.exceptions.UndefinedError
jinja2.exceptions.UndefinedError: ‘str’ is undefined

这种情况怎么解决啊?

难道非要在py文件里面遍历pro.items处理完字符串才能传给html吗?

写回答

1回答

NavCat

2019-06-27

模板中只支持一些特定的python语法,基于你这个问题,有两种方法解决:

  1. 就是在py文件里面处理好,再传给html模板

  2. 使用过滤器,jinja2模板为我们提供了很多内置的过滤器(见下面的文档),当然,如果内置的过滤器不够用,我们也可以写过滤器。

http://docs.jinkan.org/docs/jinja2/templates.html#replace

0
4
NavCat
回复
慕婉清7059351
666
2019-06-28
共4条回复

Python操作三大主流数据库-MySQL+MongoDB+Redis

一次实战同时掌握Python操作MySQL,MongoDB,Redis 三大数据库使用技巧

2024 学习 · 376 问题

查看课程