【问题标题】:Translating elements and adding enumeration IDs using Jinja2 templates?使用 Jinja2 模板翻译元素和添加枚举 ID?
【发布时间】:2012-09-02 13:42:51
【问题描述】:

我正在创建显示幻灯片的页面(存储为名为 slide001.png、slide002.png 等的图像)以及画外音的文字记录。模板如下所示:


您好,欢迎来到第一张幻灯片。


这是第二张幻灯片。


/...等等...


我想把它翻译成:




您好,欢迎来到第一张幻灯片。



...每张幻灯片以此类推...

即,每个段落都包含在一个 div 中,并插入一个带有连续编号的图像引用的 img 元素。我现在正在使用 JavaScript 执行此操作,但由于我正在使用 Jinja2 执行其他操作(插入一致的页眉和页脚、创建前/后链接等),我希望我可以执行 wrap-and-enumerate在 Jinja2 中也是如此。没有英勇的骇客,有可能吗?

【问题讨论】:

  • 是的,如果你给我们看实际的模板,你展示的只是生成的html,没用。
  • 如果我有模板,我就不需要发布问题 :-) 我所拥有的是我开始使用的 HTML,我想转换 到模板和所需的输出;我需要的是能够做到这一点的模板。

标签: python jinja2


【解决方案1】:

如果您可以在页面中将数据转换为以下格式,那么它可以很好地呈现。

transcript = [{'image': 'filepath', 'text':'welcome...'},
              {'image': 'filepath2', 'text':'slide2'},
              {'image': 'filepath3', 'text':'slide3'}]

Jinja 可以内联放置或移动到宏中,但这两种方式都可以解决问题:

<div class="transcript">
  {% for slide in transcript %}
  <div class="slide">
    <img src="{{ slide.image }}"/>
    <p>{{ slide.text }}</p>
  </div>
  {% endfor %}
</div>

【讨论】:

    猜你喜欢
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    相关资源
    最近更新 更多