【发布时间】:2021-02-12 00:43:05
【问题描述】:
我正在为我的网络应用程序使用 spotify 的 API。我创建了一个搜索栏,根据 spotify 的要求询问查询和查询的类型(例如曲目、专辑、艺术家)。搜索专辑的代码工作得很好,直到几个小时前它停止并开始给我以下错误jinja2.exceptions.UndefinedError: 'list object' has no attribute 'items',仔细查看终端指出问题出在以下行{% for k, v in value.items() %} 它应该请注意,我没有更改代码中的任何内容,正如我提到的那样它工作得很好,我继续返回到 spotify 的控制台以检查我收到的数据以及我的代码中是否存在逻辑错误,但我可以' t 似乎找到一个。 实际上我在寻找艺术家时遇到了同样的问题。但这是另一个问题。现在,问题是我搜索专辑。
为了更好地了解收到的数据,您可以查看 spotify 的搜索控制台:https://developer.spotify.com/console/get-search-item/
我们将不胜感激。谢谢。
<section class="wrapper">
<div class="search-res">
<h1 class="header">{{query}}</h1>
<div class="row">
<div class="records" id="tracks">
{% set info = [] %}
{% if q_type == "album" %}
{% for record in results['albums']['items'] %}
{% for key, value in record.items() %}
{% if key == "artists" %}
{% for k, v in value.items() %}
{% if k == "name" %}
{{info.append(v) or ""}}
{% endif %}
{% endfor %}
{% endif %}
{% if key == "name" %}
{{info.append(value)}}
{% endif %}
{% if key == "id" %}
{{info.append(value)}}
{% endif %}
{% if key == "external_urls" %}
{% for k, v in value.items() %}
{% if k == "spotify" %}
{{info.append(v) or ""}}
{% endif %}
{% endfor %}
{% endif %}
{% if key == "images" %}
{% for k, v in value[1].items() %}
{% if k == "url" %}
{{info.append(v) or ""}}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}
{{info}}
{% endif %}
</div>
</div>
</div>
</section>
【问题讨论】:
-
你确定这是 Python 吗?
-
这是在搜索路径中呈现的模板的一部分。该网络应用程序是用 python 编写的,是的。我使用烧瓶作为我的框架。我添加了 python 和 flask 作为标签,因为我认为它们是相关信息。我可以看到他们如何被视为相反。
-
你有解决这个问题的办法吗?