问题标签 [chameleon]

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 投票
2 回答
418 浏览

python - 变色龙中的换行

我已经使用金字塔框架构建了一个大型 Web 应用程序。

除其他外,此应用程序允许用户在文本区域表单域中输入文本。然后将该文本保存到数据库中,当然可以再次读取并稍后显示。

为了显示内容,我使用了Chameleon Template Engine

这工作正常,除了换行符显示不正确(根本不显示)。这可能是因为当通过 Chameleon 显示时,输入到文本区域的换行符不会导致 HTML 中的换行符。如何解决这个问题?

用 -Tags 替换换行符没有帮助,<br>因为默认情况下,Chameleon 会转义所有 HTML-Tags。我知道可以停用此功能,但我不想这样做以避免跨站点脚本。

0 投票
3 回答
319 浏览

templates - 变色龙中的 Mako 过滤器?

是否有可能像我在 Mako 中使用的那样在 Chameleon 中使用模板过滤器?在 Mako 中,可以做类似的事情

wherefilter是将字符串映射到字符串的函数,并将 Mako 应用于filters输出它(在转义 HTML 实体之后)。所以一个人可以很容易地做一些事情,比如

我知道 Chameleon 的做法是Line Breaking in Chameleon。但是我有更多用于此过滤器的应用程序,所以我想知道 Chameleon 是否支持类似的东西。

0 投票
1 回答
245 浏览

python - Python,Pyramid,Chameleon:在字符串中解析 Chameleon 模板

我有一个以字符串形式存储的变色龙模板。我以这种形式得到它,因为我需要先进行自己的处理。之后,我想解析模板,可能使用“渲染响应”:

但是,我不知道如何解析存储在字符串中的模板,而不是指向文件中的模板。这可能吗?

0 投票
1 回答
310 浏览

internationalization - 在 Pyramid 中拥有 i18n-ed 电子邮件模板的最佳方式

我想保持电子邮件的模板国际化。我默认使用 Pyramid 1.4 和 Chameleon。

我尝试过直接使用 TranslationString 作为 PageTextTemplate 的主体:

但是email_body被分配了 msgid 而不是默认值,并且当我这样做时python setup.py extract_messages,不会自动插入默认文本。

我需要做一些特别的事情来连接我的翻译域吗?

有没有更好的方法来实现这一点?

一点上下文

我现实世界的要求是从几个对象创建一封电子邮件。用户导航到一个页面,该页面除了返回一个普通的 HTML 页面外,还会创建一封电子邮件,其中的文本会自动发送给审阅者,审阅者要么将其重新发送给客户端,要么将其拒绝。在这种情况下,对于电子邮件文本,i18n 有两个可能的要求:

  1. 使用网站用户的语言,
  2. 或使用收件人(客户)的语言

到目前为止,我们选择第一个,如果时间允许并且客户推动它,请执行第二个选项。

带有变色龙的i18n金字塔文档仅指 ZPT 模板,而不是 TXT 模板。但是我们的电子邮件文本是纯文本。

因此,在如何为纯文本模板执行 i18n 的文档中存在空白。

有任何想法吗?

0 投票
1 回答
374 浏览

caching - sql alchemy + 金字塔,“请求缓存”

我正在制作一个网站,使用金字塔、sqlalchemy 和 chameleon... 在 vi​​ew.py 上我发送 sqlalchemy:

和变色龙:

但是 sqlalchemy “user.minions.count()” 运行了两次,所以我在模型上添加了这个:

并开始使用“NumFixedMinions”而不是“.count()”,但这使得 _NumFixedMintions 定义,直到我重新启动服务器,我错过了什么吗?或者有没有办法只在请求期间制作一个简单的“缓存”..

ps:这不是真正的代码,因为网站是模块化的,所以很难知道什么时候会被使用两次

0 投票
1 回答
209 浏览

python - 如何测试金字塔变色龙模板?

我知道如何使用以下方法对我的视图进行单元测试:

问题在于它不会测试我的 Chamelon 模板。有时,.pt 文件中出现拼写错误,而我的视图测试无法捕捉到它们。

我想我可以使用 webtest 进行集成测试,但有时很难点击所有代码路径来尝试通过请求 URL 来呈现我的所有模板......

有没有一种简单的方法可以测试模板本身以确保它们呈现正常?

0 投票
1 回答
260 浏览

python - 在 Chameleon 中使用代码块时出现 builtins.NameError

我希望这个片段能够工作:

相反,它失败了:

作为背景,我们的想法是避免每年都更新年份:

0 投票
1 回答
2073 浏览

macros - 如何在金字塔 / ZPT(变色龙)中使用宏

我想使用带有金字塔+ZPT 引擎(变色龙)的宏。

文档说“一个页面模板可以容纳多个宏”。 http://chameleon.readthedocs.org/en/latest/reference.html#macros-metal

因此我定义了一个文件 macros.pt

和一个全局模板main_template.pt,其中包含定义 slot 的所有 html 内容content

progress.pt以及用于main_template.pt填充插槽的我的视图模板:

到目前为止,我痛苦地发现,我不能说use-macro="main_template.pt"是因为 Chameleon 不像 Zope 那样自动加载模板。因此,我必须先添加load:片段。

来到use-macro="step-0". 这会引发 NameError step-0。我试图用类似的macros.pt东西预加载,<tal:block tal:define="compile load: macros.pt" />但这没有帮助。

如何使用宏摘要文件中收集的宏?

0 投票
1 回答
217 浏览

plone - 在 Plone 上选择性地启用 Chameleon 页面模板

阅读https://pypi.python.org/pypi/five.pt/2.2.1

Chameleon 模板是按包启用还是全局启用?说明很少。

如果我只想为特定软件包启用 Chameleon,可以吗?(使迁移到 Chameleon 更容易)

0 投票
1 回答
1438 浏览

plone - 在另一个 tal:repeat 函数中获取 tal:repeat 的索引

如您所见,我有 3 个列表Procedur_HeadersDiagnosesList_Procedur. Procedur_headers给出了我的表格的标题, Diagnoses给出了一个过程的特定 id,并且 List_Procedur是一个列表(查询)的列表,其中包含了我需要的所有数据。现在我想做的是在

我可以在我的表中获取我的数据。我已经可以得到索引:

但我不能在索引的地方这样做。有没有人有这样的解决方案?