【发布时间】:2015-11-18 08:32:43
【问题描述】:
我想在 Python/Flask 项目中使用聚合物。 Flask 使用 Jinja2 模板引擎,它也使用双花括号 {{}} 作为分隔符。
在 Jinja2 中转义大括号是可能的,但它会导致我想避免的代码非常丑陋和不可读。
虽然在 Jinja2 中也可以更改分隔符,但我宁愿在 Polymer 中更改它们,因为我们已经在项目中使用了一些 Jinja2 模板。
所以问题是,是否可以更改 Polymer 中的分隔符,如果可以,我们该怎么做?
谢谢
【问题讨论】:
-
听起来有点XY - 你真的需要混合两个模板引擎吗? Polymer 组件不需要通过后端解析器 - 您应该确保它们与在服务器上生成“视图”的任何东西分开。
-
嗨@Emissary,Jinja2 是服务器端和Polymer 客户端,我看不到我们只在两者之一中构建它,但也许我误解了;您是否建议我们将所有 Polymer 数据绑定保存在一个 .js 文件中,以便 Jinja2 呈现的 HTML 模板没有 Polymer {{}} 表达式?
-
我并不是说不要同时使用两者——我建议你不要混合使用它们。前端具体的东西不需要经过Jinja2。
-
明白了;所以你说没有必要直接在 HTML 页面中使用聚合物模板,所以通过 Jinja2 传递 HTML 不会搞砸。您能否详细说明在这种情况下 Polymer 模板(应该)放在哪里?
-
我不使用 Jinja2,所以我不知道典型项目的外观,也无法告诉您如何构建应用程序,这是主观的。 Web 组件是按设计封装的——您可以直接为所有模块提供服务,而无需服务器端干预。您关心的唯一“html”文件是动态生成视图的索引或端点 - 它可以注入您需要的任何参数作为标记中指定的组件标签的属性。组件应该期望数据 X 和 Y 作为“公共”属性,而不是尝试将数据直接合并到它们的定义中。
标签: javascript polymer polymer-1.0