SimpleTemplate可以忽略模板文件中的变量吗?

时间:2017-01-10 09:15:56

标签: javascript python python-3.x vue.js bottle

我们正在尝试构建一个基于瓶子的简单Web应用程序,并使用SimpleTemplate模块来模板化文件。该站点使用Vue.js构建。

瓶模板语法为{{}},Vue.js also uses for templates。因此,当瓶子试图在我们的模板上运行其模板引擎时,我们将获得任何Vue.js模板的KeyError异常。

我已经阅读了瓶子SimpleTemplate documentation,还有其他人在谈论使用SimpleTemplate,但这还没有回答我的问题。

HTML包括Vue.js模板变量:



<footer>
<p>© Copyright {{ thisYear }}</p>
</footer>
&#13;
&#13;
&#13;

JavaScript的:

&#13;
&#13;
    <!-- ROUTING -->
    <script>
    // Create and mount the root instance.
    const app = new Vue({
      router,
      data: {
        parentBaseUrl: '${service_url}/template',
        flash: '',
        open_menu: [],
        thisYear: new Date().getFullYear()
      }
&#13;
&#13;
&#13;

以上是HTML和JavaScript的例外,以避免转储整个文件。

我是否可以通过某种方式配置SimpleTemplate(或其他瓶模板库)来忽略模板变量?

如果我能以某种方式逃避Vue.js模板变量,我已经尝试使用谷歌搜索,因此SimpleTemplate不会替换它们,但我还没有找到任何东西。

1 个答案:

答案 0 :(得分:1)

如果没有明显的方法来更改SimpleTemplate / bottle的分隔符,您应该能够更改Vue.js的模板分隔符

类似问题供参考:Conflict on Template of Twig and Vue.js

如该问题的答案中所述,您可以更改Vue.js(版本2.0+)的模板分隔符,如下所示:

new Vue({
  delimiters: ['${', '}']
})

API文档参考:https://vuejs.org/v2/api/#delimiters