【问题标题】:Jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'info'Jinja2.exceptions.TemplateSyntaxError:遇到未知标签“信息”
【发布时间】:2020-10-25 20:31:53
【问题描述】:

我正在使用 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>

【问题讨论】:

  • 我从未见过这种语法:{% append value to info %}。我想那是错误的。
  • 那个文档说 “因为我们想避免使用底层的 python 语言,所以 Exponea 中的符号与 Jinja 中官方支持的符号有些不同。你需要使用 myList.append(myValue) 而不是append myValue to myList"。现在,我以前从未听说过“Exponea”,但它似乎是 Jinja 的变体,具有不同的语法。你应该使用 Exponea 而不是 Jinja 才能工作。

标签: python flask jinja2


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-12
    • 2019-09-12
    • 1970-01-01
    相关资源
    最近更新 更多