Python中的不可信模板 - 哪里有安全的库可用?
我正在建立一个库,这个库会在多个Python应用程序中使用。它会从一个关系型数据库中获取多语言的电子邮件模板,然后在发送电子邮件之前,使用Python对模板中的变量进行替换。
除了变量替换之外,我还希望这个模板库能支持一些条件语句,比如if、elif和for循环。
我在大多数项目中使用Mako,也看过Tempita,因为它提供的功能比较简单,正好符合我的需求。
我担心的是不可信代码的执行——有没有人能推荐一个Python的模板解决方案,它要么不支持代码执行,要么可以让我禁用这个功能?
2 个回答
3
你有没有看看 Jinja2? 这个东西其实就是你说的那种,它强大又简单,不会让设计师拥有太多的控制权。 :)
如果你用过Django的模板系统,那它和Jinja非常相似(甚至可能是基于Jinja的?)。