问题标签 [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 回答
1638 浏览

python - 在 mako 模板中:在 html 字符串中调用 python 函数

我如何在 mako 中做到这一点:

0 投票
1 回答
2903 浏览

mako - 使用 Mako 模板打印列表(Django Join 标签)

在这篇文章中Django 模板是这样的

打印mylist作为对象的列表。这可以在Mako完成吗?谢谢。

编辑

0 投票
1 回答
5169 浏览

python - 将变量传递给 Mako 模板

在 Perl 中,通过使用 Template Toolkit,这就是我所做的

Perl

HTML

Mako模板中,我该怎么做?检查他们的render功能,没有得到太多提示。

0 投票
1 回答
417 浏览

python - 按 auto_now=True 和 auto_now_add=True 对数据存储项进行排序

我正在尝试使用auto_now=True和按年龄对数据存储中的项目进行排序auto_now_add=True。我设法解决了datetime问题,但我无法按年龄正确分类。我很感激任何建议。(对不起大写的变量,我最终会修复它们。)我的模型是:

查询是:

这就是我在 Mako 模板中使用的:

这是一个排序错误的输出示例:

谢谢!

0 投票
6 回答
449 浏览

python - 是否有理由劝我不要在我的 Django 应用程序中使用替代模板引擎?

我做过一些小型的 Django 项目,每次我都被 Django 模板语言的明显局限性所震撼。作为一个随机的例子,我很震惊地得知,如果在模板的上下文中,我有一个变量 bar 和一个 dict foo,除非我编写自己的过滤器来执行它,否则我无法访问 foo[bar]。

我读过这是因为 Django 是为设计页面的人不是程序员的环境创建的。我明白那个。

但是,假设这对我来说不是问题。有什么理由让我坚持使用 Django 的模板语言,而不是切换到功能更强大的东西,比如 Mako(你甚至可以执行任意 Python 表达式)?

不久前我有机会将 Mako 用于学校项目,我真的很喜欢它的力量。例如,作为项目的一部分,我们必须制作一个大表格,其中构建每一行和单元格相当复杂。然而,我可以让我的模板看起来像:

也许这违反了表示和逻辑的分离,但男孩是不是又好又干净。子程序!抽象!好东西。

还有一个后续问题:如果 Django 社区不反对使用替代模板语言,那么有人有什么建议吗?就像我说的,我真的很喜欢 Mako,但它实际上是我使用过的唯一一个除了 Django 的。

0 投票
4 回答
16279 浏览

python - 在 Jinja 2 中包含文件的顶部插入 javascript

在 Jinja2 中,我希望通过运行以下命令按其应有的方式工作:

<head>本质上,目标是通过使用{% call js() %} /* some js */ {% endcall %}宏将所有 javascript 合并到标签中。


x.html


y.html


预期结果

当我通过 jinja2 运行 X.html 时,我希望结果是:


实际结果

实际结果并不令人鼓舞。我得到了几种可能具有启发性的错误,例如:

类型错误:宏“js”没有关键字参数“调用者”

或者,当我尝试添加另一个基础宏时,例如

我得到以下异常

jinja2.exceptions.TemplateAssertionError: block 'head_js' 定义了两次

我觉得好像我遇到了关于block标签优先于标签的设计问题macro(即宏似乎没有以我期望的方式封装块标签)。


我想我的问题很简单:

  1. Jinja2 可以做我正在尝试的事情吗?如果是这样,怎么做?

  2. 如果没有,是否有另一个基于 Python 的模板引擎支持这种模式(例如 mako、genshi 等),它可以在 Google App Engine 中正常工作

感谢您阅读 - 我感谢您的意见。

布赖恩


编辑:

我正在尝试编写一个扩展来解决这个问题。我已经完成了一半——使用以下代码:

这使得将 Javascript 添加到模板末尾变得很简单......例如

运行env.get_template('x.html').render()将产生一些启发性的评论和预期的输出:

当然,这与希望的那样将脚本放在头脑中并不相同,但至少它可以方便地合并到一个地方。

但是,解决方案并不完整,因为当您{% include "y.html" %}在其中有一个“y.html”包含{% js %}语句时,{% js_content %}会在包含语句之前调用该{% js %}语句(即在开始x.html之前完全解析y.html)。

我还需要(但还没有)插入具有静态 javascript 的常量节点,try/catch我表示我想在其中拥有它。这不是问题。

我很高兴能取得进展,我很感谢您的意见。

我已经打开了相关问题:Jinja2 compile extension after includes


编辑

解决方案

完成后,环境将包含一个包含jbc所有 Javascript 的变量。例如,我可以通过string.Template.


0 投票
1 回答
558 浏览

python - Mako 模板编码网址

我有一个值为 html 的变量:

当我在我的 mako 模板中显示它时,输出是:

这是怎么回事?

谢谢。

0 投票
1 回答
1499 浏览

python - 如何使用 Pylons / Mako 模板从独立的 python 脚本制作 HTML 电子邮件?

我基本上是在问如何在独立的 python 脚本中“包含” plyons 和 mako 文件?

我有一个工作网站,但我想做的是使用 Mako 模板来格式化我通过 cron 脚本启动的电子邮件。我想这样做以尽可能多地重用代码,因为有时网站中的操作会生成电子邮件。

我可以让 cron 脚本访问某个 URL,然后使用 pylons 生成电子邮件,但是这种 hack 有很多明显的问题。

0 投票
1 回答
257 浏览

pylons - 初学者 pylons / mako 模板问题

我一直在阅读 mako / pylons 文档,并且无法找到将多个应用程序集成到单个页面中的好示例/讨论,例如,如果我有一个博客应用程序和一个应用程序,它只是从数据库中选择随机引用真棒报价。(这个例子很简单,只是为了说明)

所以我想制作一个显示两个应用程序的页面,我不确定如何编写模板,我已经看到 next.body(),我需要从模板中的应用程序调用控制器吗?

我怎么能在飞行中做到这一点?
我可以只制作一个描述页面的模型,并将它想要调用的每个应用程序作为模型属性中的对象吗?我只是在这里吐口水,希望有一个指向我可以查看的示例/教程的指针。

感谢您的任何建议。

0 投票
2 回答
2119 浏览

python - UnicodeEncodeError in Mako Template

I have the following files

dummy.py


dummy.html (Saved in UTF-8 format)

I had refereed to the instruction from http://www.makotemplates.org/docs/unicode.html

However, I still get error

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)

Anything I had missed out?