问题标签 [mako]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
134 浏览

python - mako如何访问Windows下当前正在渲染的对象名

我是 mako 的新手,对对象模型有疑问。

我们在Windows 7下通过render命令通过mako生成一个模板文件,类似于

在正在呈现的文件中,我想访问类似于以下伪代码的对象名...

这甚至可能吗?

注意: 我可以让它生成类似于以下的输出

但我想要实际的对象名称

0 投票
2 回答
3760 浏览

python - 访问 Mako 命名空间中定义的变量

通常,在 Mako 中“导入”命名空间似乎只允许访问 defs。

还有一个导入模板:

在我的用例 somevarfoo是相关的。我也可以方便地somevar从导入模板中访问。这样做的最佳做法是什么?

0 投票
1 回答
2077 浏览

python - 路径中的 Python 模块:mako 模板中引发的 ImportError

有一个 ImportError 有可能让我发疯。情况如下所示:

代码(没有测试目录,在问题解决之前我犹豫提交)在这里在线:https ://github.com/Boldewyn/website/ 。

当我调用python -m website.__main__ build时,主例程使用website/_templates. 这在任何给定目录中都可以正常工作。

但是,在tests/testWebsite.py我有一个单元测试中,它也应该运行相同的东西。但是那里的 Mako 模板会引发文件的导入错误,在另一种情况下可以正常导入。

运行测试然后产生:

现在,有趣的是,我可以sys.path直接从模板打印:

我可以在那里确认,那website 在路上。此外,导入在所有其他部署方案中都运行良好

导入websitewebsite._webtools也很好用。只有website._webtools.templatedefs部分出错了。

有谁知道,我可以在哪里寻找可能出错的迹象?

测试代码非常简单:

编辑:另一个诊断:我让 mako 编译模板并独立执行生成的 Python 文件。奇迹般有效。我还将 templatedefs.py 减少到最低限度(只有 defs 返回空字符串),这样我也可以在该文件中排除 ImportErrors (或其他怪异)。

系统信息: Ubuntu 11.04、Python 2.7、Mako 0.3.6。

0 投票
1 回答
291 浏览

javascript - 如何将python的字符串传输到js脚本

我尝试为此使用模块 json,但 js 脚本和 firebug 出错。例子。我有这条线:

我尝试将其发送到调用jquery.ocupload-1.1.2.js构建选择器的 js 脚本。我得到了一切""我有一个错误:

然后我尝试 json.dumps 它的所有转义"\"脚本不使用这个结构。我怎样才能使“干净”的 json 结构像{"fruit":{"apple":100}}没有任何转义和额外的字符?

解决了。我使用 Mako 作为模板。并且需要关闭其中的过滤器,例如

http://www.makotemplates.org/docs/filtering.html

0 投票
1 回答
3192 浏览

python - 在 Mako 模板中使用字典

而不是像这样将变量传递给模板:

如何将字典传递给模板并以相同的方式呈现

所以在模板中我可以正常显示变量:

我不希望模板中有任何额外的代码,所以我想以某种方式使用 Context 对象,但我遇到了障碍。有任何想法吗?

0 投票
3 回答
10098 浏览

python - 如何在 python 魔术编码说明符行中指定扩展 ascii(即 range(256))?

我正在使用 mako 模板来生成专门的配置文件。其中一些文件包含扩展的 ASCII 字符 (>127),但是当我使用时 mako 窒息说这些字符超出了范围:

所以我想知道是否可能有类似的东西:

我可以使用 range(128, 256) 字符。

编辑:

这是文件中违规部分的转储:

mako 抱怨的第一个字符是 000001b4。如果我删除此部分,一切正常。插入该部分后,mako 抱怨道:

无论我在魔术注释行中使用“ascii”还是“latin-1”,都是同样的抱怨。

谢谢!

格雷格

0 投票
1 回答
752 浏览

python - 为什么将 Context 与 mako 一起使用?

我阅读了 Makotemplate 的手册并看到以下代码:

使用上下文有什么好处?

0 投票
1 回答
552 浏览

google-app-engine - 使用 Google App Engine 的 Mako - 您如何处理临时文件?

我修改了我的 Google App Engine 应用程序以使用 Mako。为此,我遵循了这个答案,包括评论:

带有 Google App Engine 的 Mako 模板

然而,一旦你开始从文件中加载模板,你就会遇到一个大问题。默认情况下,mako/template.py 中的 Mako 模板想要创建一个临时文件来存储您编译的模板。据我所知,GAE 不允许您创建临时文件。有没有人遇到这个并想出一个解决方法?

0 投票
1 回答
306 浏览

python - Mako 模拟 Django 的“无空间”标签?

Mako 模板中是否有一种机制可以让我从模板输出中删除额外的空格,类似于 Django 的{% spaceless %}标签?

0 投票
1 回答
1611 浏览

python - 如何在 Mako 运行时环境中优雅地处理 NameError 和 AttributeError?

我发现尝试访问 Mako 模板中的未定义变量会引发 a NameError,并且在逻辑上是这样。然而,在某些应用程序中,希望更优雅地失败,也许用空字符串替换此类错误(AttributeError是另一个候选者)。这是 Django 模板语言中的默认行为。有没有办法在 Mako 中获得这种行为?