【问题标题】:Using Mako Template in Javascript在 Javascript 中使用 Mako 模板
【发布时间】:2014-09-29 03:21:15
【问题描述】:

我正在开发一个仪表板,使用 Python cherrypy 框架和 Mako 模板语言。

每个仪表板页面都有一个html 文件。

在那里,我使用Mako 将一些数据传递给html 并内联Javascript

例如,当我只有 id 列表时,为了显示某些进程的名称,我传递了一个 Python dict 将 id 映射到它们对应的名称,然后在 ${} 标签中使用 dict。

但是,由于我现在将这些 Javascript 代码移动到带有 .js 扩展名的单独文件中,我发现在 Javascript 代码中简单地放置相同的 Mako 代码块不起作用。

有什么方法可以在html 文件中导入的外部.js 文件中使用Mako 模板语言?

这是否被认为是一种不好的做法,当我将所有这些数据传递给 Javascript 时,我是否应该使用 XMLHTTPRequests 传递它们?

【问题讨论】:

    标签: javascript jquery python html mako


    【解决方案1】:

    Ajax 是执行此操作的“正确”方式。

    为了将值动态插入到单独的 Javascript 文件中,它不能再用作静态文件。除此之外,它还增加了一层额外的安全性和可维护性问题,因为您必须处理字符串转义、可能的脚本注入以及在 Javascript 中使用 Mako 语法。更不用说无法在 CDN 或为静态文件配置的服务器上托管您的 .js 文件。

    【讨论】:

    • 谢谢。所以你的意思是我应该在后端 Python 代码中为我想要向其发出 Ajax get 请求的每个数据定义一个函数?还有一个问题是,我怎样才能使单独的.css 文件适用于具有Mako 生成的ID 的组件?
    猜你喜欢
    • 2019-12-13
    • 2011-10-14
    • 2011-09-20
    • 2011-04-16
    • 2011-01-22
    • 2012-09-14
    • 1970-01-01
    • 2013-03-28
    • 2016-08-02
    相关资源
    最近更新 更多