问题标签 [jinja2]

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 回答
31760 浏览

python - 如何调试 Jinja2 模板?

我在 django 中使用 jinja2 模板系统。它真的很快,我非常喜欢它。尽管如此,我在调试模板时遇到了一些问题:如果我在模板中犯了一些错误(错误的标签、错误的过滤器名称、错误的块结尾......),我根本没有关于这个错误的信息。

例如,在 django 视图中,我这样写:

我写了一个 jinja2 模板:jinja.html:

请注意,我故意放置了一个不存在的过滤器来生成错误:

我期待像“notexistingfilter() not defined”这样的东西,但我只有一个简单的黑底白字回溯(不是通常的 django 调试消息):

我没有得到错误发生的模板文件名,没有关于错误本身的信息,所以很难调试jinja2。

我应该怎么做才能获得更多调试信息并找到 jinja2 模板中的错误位置?

先感谢您,

0 投票
5 回答
182133 浏览

string - Jinja 中的字符串连接

我只想遍历现有列表并从中制作一个逗号分隔的字符串。
像这样的东西:my_string = 'stuff, stuff, stuff, stuff'

我已经知道了loop.last,我只需要知道如何使下面代码中的第三行工作。

0 投票
7 回答
15541 浏览

python - 类似 Jinja 的 Python 中的 Pdf

我正在为 Python 中的 PDF 寻找最准确的工具,就像 Jinja 对 HTML 所做的那样。

你有什么建议?

0 投票
2 回答
2994 浏览

django - 获取与 django 1.x 集成的 jinja2 模板的翻译字符串?

我可以通过如下定义的render_to_response将jinj2模板与django一起使用

但不能让 django 为 jinja2 模板提取翻译字符串。

似乎 django/utils/translation/trans_real.py 中的以下行使 makemessages 命令可以通过 templatize@trans_real.py 解析 i18n 的 django 模板

有没有比修改 makemessages.py 更好的方法,通过重写翻译标签正则表达式以在 jinja2 模板上本地使用以提取翻译字符串?

0 投票
1 回答
15246 浏览

python - 在 Jinja2 中,如何将宏与块标签结合使用?

我是一名前端开发人员,我一直在努力有效地使用 Jinja2。我想调整当前站点,使其具有多个使用继承的基本模板,它完全使用块标签来替换内容并覆盖它,并使用宏来支持参数传递。

我的基本模板包含以下代码(为简单起见进行了编辑):

我扩展它的页面如下所示:

所以基本上所有的页面都扩展了基础,它们调用一个宏并将参数传递给该宏。我不太了解这一切,但要点是这允许使用默认值和一定程度的灵活性,而不需要重新定义整个块:它提供了一定程度的灵活性和功能。这又被大大简化了。

唯一的问题是,这否定了我使用积木的能力。宏是为了灵活性,但是对于块,我有能力完全覆盖某些东西,或者使用它的父内容并添加到它,这是我不能用宏做的(至少我不这么认为)。问题是,我不能将东西包装在块中,否则他们将看不到宏中的值。例如,这样做:

将失败,因为它会说标题未定义。

最终,我正在寻找一种方法来利用块的功能和组织方面,但仍然能够利用宏的逻辑和简洁性。如果有人可以就如何解决这个问题给我任何帮助,我将不胜感激。

0 投票
3 回答
8144 浏览

python - 使用纯 Python 代码去除生成的 HTML 中的空格

我正在使用 Jinja2 生成通常非常大的 HTML 文件。我注意到生成的 HTML 有很多空格。有没有可以用来最小化这个 HTML 的纯 Python 工具?当我说“最小化”时,我的意思是从 HTML 中删除不必要的空格(就像 Google 所做的那样——例如,查看 google.com 的源代码)

我不想为此依赖诸如 tidy 之类的库/外部可执行文件。

为了进一步说明,实际上没有 JavaScript 代码。仅 HTML 内容。

0 投票
4 回答
31765 浏览

python - Jinja2 模板语言是否有“这里”(当前目录)的概念?

Jinja2 是否支持模板相对路径,例如%(here)s/other/template.html,包含与当前模板在文件系统中的位置相关的其他模板?

0 投票
3 回答
6274 浏览

python - Jinja2 in Google App Engine

I have started using Jinja2 as my templating engine on Google App Engine (in Python).

My question is this: Will bytecode caching work in production? It is working very well on the development server, but I read somewhere that bytecode caching depends on the marshal module, which is not supported in App Engine. This answer to a different question provides a possible solution by changing marshal to use pickle methods. Has anyone tried this?

In general, is there anything else that I should take into consideration when using Jinja2 with App Engine?

Any help would be greatly appreciated!

Thanks.

0 投票
1 回答
8423 浏览

python - 如何访问 Jinja2 模板(应用引擎上的瓶子框架)中的会话数据?

我在 Google App Engine 上运行微框架Bottle 。我正在为我的模板使用Jinja2。我正在使用Beaker来处理会话。我仍然是一个相当大的 Python 新手,我很兴奋我能做到这一点:) 我的问题是如何访问模板中的会话数据?我可以在实际的 python 代码中获取会话数据没有问题。每次调用 jinja 模板时,我都可以传递会话数据。但由于我需要站点主菜单栏中的会话数据......这意味着我必须在每个页面上传递它。有谁知道我是否可以直接在模板中访问它?

例如,我需要标题链接的会话数据:

主页 | 常见问题 | 登录

或者

主页 | 常见问题 | 登出

任何帮助是极大的赞赏!:D

0 投票
3 回答
2794 浏览

python - Jinja2 为 Google App Engine 模型返回“None”字符串

Google App Engine 模型,例如:

然后在从 Django 视图调用的 Jinja2 模板中,其中M传入的实例为m

m未设置的情况下进行初始化时name,将打印以下内容:

这个 M 的名字是 None。

更可取和预期的输出(以及使用 Django 模板时的输出)将是/是:

这个 M 的名字是 。

您知道为什么会发生这种情况,以及如何获得首选和预期的输出吗?