gpt4 book ai didi

jinja2 - 在 Jinja2 中用模板输出替换字符串

转载 作者:行者123 更新时间:2023-12-04 12:47:45 25 4
gpt4 key购买 nike

在 Pelican 中,页面的内容作为 page.content 传递给 Jinja2 模板。 .让我们假设 page.content包含一个字符串 {REPLACEME} .我现在如何替换这个字符串 {REPLACEME}一些模板逻辑的结果,说

{% for pub in publications %}
{% set key, year, text, bibtex, doi, url, pdf, slides, poster = pub %}
{% if "%s"|format(year) == "%s"|format(yr) %}
<li id="{{ key }}">{{ text }}</li>
{% endif %}
{% endfor %}

这个想法是我想使用模板逻辑来呈现项目列表,但仍然能够决定这个列表应该出现在 page.content 中的什么位置。 .

我知道有一个 replace() filter在 Jinja2 中,但我不知道如何制作 new参数包含上面的模板输出。

最佳答案

结果发现 Jinja2 中有宏。

{% macro bibtex_rendered() -%}
{% for pub in publications %}
{% set key, year, text, bibtex, doi, url, pdf, slides, poster = pub %}
{% if "%s"|format(year) == "%s"|format(yr) %}
<li id="{{ key }}">{{ text }}</li>
{% endif %}
{% endfor %}
{%- endmacro %}

然后我可以在我对 replace 的调用中使用定义的宏:
    {{ page.content | replace("{PUBLICATIONS}", bibtex_rendered()) }}

关于jinja2 - 在 Jinja2 中用模板输出替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34679636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com