问题标签 [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.
python - 变色龙中的换行
我已经使用金字塔框架构建了一个大型 Web 应用程序。
除其他外,此应用程序允许用户在文本区域表单域中输入文本。然后将该文本保存到数据库中,当然可以再次读取并稍后显示。
为了显示内容,我使用了Chameleon Template Engine。
这工作正常,除了换行符显示不正确(根本不显示)。这可能是因为当通过 Chameleon 显示时,输入到文本区域的换行符不会导致 HTML 中的换行符。如何解决这个问题?
用 -Tags 替换换行符没有帮助,<br>
因为默认情况下,Chameleon 会转义所有 HTML-Tags。我知道可以停用此功能,但我不想这样做以避免跨站点脚本。
templates - 变色龙中的 Mako 过滤器?
是否有可能像我在 Mako 中使用的那样在 Chameleon 中使用模板过滤器?在 Mako 中,可以做类似的事情
wherefilter
是将字符串映射到字符串的函数,并将 Mako 应用于filter
并s
输出它(在转义 HTML 实体之后)。所以一个人可以很容易地做一些事情,比如
我知道 Chameleon 的做法是Line Breaking in Chameleon。但是我有更多用于此过滤器的应用程序,所以我想知道 Chameleon 是否支持类似的东西。
python - Python,Pyramid,Chameleon:在字符串中解析 Chameleon 模板
我有一个以字符串形式存储的变色龙模板。我以这种形式得到它,因为我需要先进行自己的处理。之后,我想解析模板,可能使用“渲染响应”:
但是,我不知道如何解析存储在字符串中的模板,而不是指向文件中的模板。这可能吗?
internationalization - 在 Pyramid 中拥有 i18n-ed 电子邮件模板的最佳方式
我想保持电子邮件的模板国际化。我默认使用 Pyramid 1.4 和 Chameleon。
我尝试过直接使用 TranslationString 作为 PageTextTemplate 的主体:
但是email_body
被分配了 msgid 而不是默认值,并且当我这样做时python setup.py extract_messages
,不会自动插入默认文本。
我需要做一些特别的事情来连接我的翻译域吗?
有没有更好的方法来实现这一点?
一点上下文
我现实世界的要求是从几个对象创建一封电子邮件。用户导航到一个页面,该页面除了返回一个普通的 HTML 页面外,还会创建一封电子邮件,其中的文本会自动发送给审阅者,审阅者要么将其重新发送给客户端,要么将其拒绝。在这种情况下,对于电子邮件文本,i18n 有两个可能的要求:
- 使用网站用户的语言,
- 或使用收件人(客户)的语言
到目前为止,我们选择第一个,如果时间允许并且客户推动它,请执行第二个选项。
带有变色龙的i18n金字塔文档仅指 ZPT 模板,而不是 TXT 模板。但是我们的电子邮件文本是纯文本。
因此,在如何为纯文本模板执行 i18n 的文档中存在空白。
有任何想法吗?
caching - sql alchemy + 金字塔,“请求缓存”
我正在制作一个网站,使用金字塔、sqlalchemy 和 chameleon... 在 view.py 上我发送 sqlalchemy:
和变色龙:
但是 sqlalchemy “user.minions.count()” 运行了两次,所以我在模型上添加了这个:
并开始使用“NumFixedMinions”而不是“.count()”,但这使得 _NumFixedMintions 定义,直到我重新启动服务器,我错过了什么吗?或者有没有办法只在请求期间制作一个简单的“缓存”..
ps:这不是真正的代码,因为网站是模块化的,所以很难知道什么时候会被使用两次
python - 如何测试金字塔变色龙模板?
我知道如何使用以下方法对我的视图进行单元测试:
问题在于它不会测试我的 Chamelon 模板。有时,.pt 文件中出现拼写错误,而我的视图测试无法捕捉到它们。
我想我可以使用 webtest 进行集成测试,但有时很难点击所有代码路径来尝试通过请求 URL 来呈现我的所有模板......
有没有一种简单的方法可以测试模板本身以确保它们呈现正常?
python - 在 Chameleon 中使用代码块时出现 builtins.NameError
我希望这个片段能够工作:
相反,它失败了:
作为背景,我们的想法是避免每年都更新年份:
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" />
但这没有帮助。
如何使用宏摘要文件中收集的宏?
plone - 在 Plone 上选择性地启用 Chameleon 页面模板
阅读https://pypi.python.org/pypi/five.pt/2.2.1
Chameleon 模板是按包启用还是全局启用?说明很少。
如果我只想为特定软件包启用 Chameleon,可以吗?(使迁移到 Chameleon 更容易)
plone - 在另一个 tal:repeat 函数中获取 tal:repeat 的索引
如您所见,我有 3 个列表Procedur_Headers
:Diagnoses
和List_Procedur
.
Procedur_headers
给出了我的表格的标题,
Diagnoses
给出了一个过程的特定 id,并且
List_Procedur
是一个列表(查询)的列表,其中包含了我需要的所有数据。现在我想做的是在
我可以在我的表中获取我的数据。我已经可以得到索引:
但我不能在索引的地方这样做。有没有人有这样的解决方案?