7

使用 Jinja2 进行开发时,您有最佳实践和编码风格吗?

就个人而言,我喜欢Plurk/Solace中的风格,但我想知道人们在编写 Jinja2 时还使用了哪些其他风格和做法。

4

2 回答 2

4

Chromium 有一个详细的Jinja 风格指南——我是原作者,基于个人使用、同事的反馈和审查他人的代码。

除了 Jinja 特定的指导方针——主要是“保持简单,因为它是一个不熟悉的 DSL”和许多技巧——最微妙的问题是如何构建Python代码,以及 Python/Jinja 交互。我们的主要结论:

  • Python 中的逻辑(在 Python 中应该超过一行;保持 Jinja 简单)。
  • 单向流:Python → Jinja。不要从 Jinja(自定义过滤器除外)调用 Python,以避免复杂性
  • 在一个字典显示中定义每个上下文。这是您的 Python/Jinja 界面,比零敲碎打地构建字典更容易理解。

Jinja 有强大的功能,但大多数用途都是由很少使用 Jinja 的人编写的非常简单的模板,所以目标是将文本块和基本字符串处理放在 Jinja 中,但将复杂的逻辑保留在 Python 中,这更适合和比较熟悉。

于 2015-07-22T06:49:35.830 回答
1

作为 Jinja2 样式的一组示例,以下是使用它的项目列表:

于 2010-12-01T18:10:02.720 回答