首页 > 解决方案 > Jinja2.exceptions.TemplateSyntaxError:遇到未知标签“信息”

问题描述

我正在使用 spotify 的 API 来获取本周的新版本,并且我正在尝试解析返回的数据以使用 jinja2 将其显示在网页上,问题是每次我尝试运行程序时都会弹出一个错误说:jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'info'. Jinja was looking for the following tags: 'elif' or 'else' or 'endif'. The innermost block that needs to be closed is 'if'.

我尝试了不同的语法来追加到 jinja2 中的列表,但没有任何效果,它只是给了我相同的jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag

为了更好地了解数据 spotify 返回,您可以使用 spotify 的控制台:https ://developer.spotify.com/console/get-new-releases/?country=&limit=&offset=

这是我写的代码,非常感谢帮助。谢谢。

<section class="wrapper">
    <div class="new-releases">
        <h1 id="NRH">New Releases</h1>
        <hr>
        <div class="row">
            <div class="records">
            {% for record in releases['albums']['items'] %}
                {% for key, value in record.items() %}
                    {% set info = [] %}

                    {% if key == "name" %}
                        {% append value to info %}
                    {% endif %}

                    {% if key == "artists" %}
                        {% for k, v in value[0].items() %}
                            {% if k == "name" %}
                                {% append v to info %}
                            {% endif %}
                        {% endfor %}
                    {% endif %}

                    {% if key == "external-urls" %}
                        {% for k, v in value[0].items() %}
                            {% if k == "spotify" %}
                                {% append v to info %}
                            {% endif %}
                        {% endfor %}
                    {% endif %}

                    {% if key == "images" %}
                        {% for k, v in value[1].items() %}
                            {% if k == "url" %}
                                <img src="{{v}}" title="{{info[0]}}.{{info[1]}}">
                            {% endif %}
                        {% endfor %}
                    {% endif %}

                {% endfor %}
            {% endfor %}
            </div>
        </div>
    </div>
    <hr>
</section>

标签: pythonflaskjinja2

解决方案


更改{% append v to info %}{{ info.append(v) }}


推荐阅读