我有以下情况:
- 我们在服务器端使用web2py
- 我们提供一些ember.js页面
- 目前这些ember.js页面在iframe中,因为ember.js和web2py的模板{{}}标记冲突。这意味着我们不能轻松地混合web2py模板和ember.js模板。
- 所以我实现了helper类解决方案:
class em(DIV)
- 现在我想处理原始的带有ember标记的html文件,并生成带有em标记的文件,将ember.js和web2py模板系统集成为一个协调的单元。
为此,我需要将ember.js文件中所有的{{XXX}}
实例更改为{{=em('XXX')}},包括跨越多行的实例。我考虑使用正则表达式,但我想避免重新发明轮子(并且不得不处理奇怪的边角情况)
你能想到Python中通用的解析这些类型的模板的方法吗?这只是寻找开始和结束定界符({{
和}}
)并放置=em('XXX')
,处理换行符,并保留格式(即,如果有一些,则保留换行符)。
注意:这实际上不是特定于ember.js的;它可以适用于任何基于多行分隔符的模板系统。
em
帮助程序类)为ember.js使用不同的分隔符(我没有ember.js遗留)。我不知道是否可配置,我会调查一下。 - blueFast