3 回答

TA贡献1824条经验 获得超5个赞
您没有考虑书籍对象中的项目键
{% block content %}
{% if books %}
<p>Results: {{ books|length }}</p>
{% for book in books %}
<div class="card h-100">
{% for item in book['items'] %}
<img src={{item["volumeInfo"]["imageLinks"]["smallThumbnail"]}} class="card-img-top">
<div class="card-body">
<h5 class="card-title">{{ item["volumeInfo"]["title"]}}</h5>
<p class="card-text">descripthion</p>
<a href="#" class="btn btn-primary">link</a>
</div>
{% endfor %}
</div>
{% endfor %}
{% endif %}
{% endblock %}

TA贡献1943条经验 获得超7个赞
Privet Vladimir,我看到您对我的第一个答案的评论并删除了第一个答案。似乎 Jinja 对象内的内部字典未正确解析,但我无法在我的计算机上重现您的错误。也许嵌套的层次太多了。为了让它在我的计算机上工作,我必须纠正的一件事是那些奇怪的真假出现在没有引号或大写字母的响应中。也许这是这个问题的副作用。我可以想象的另一个选择是,首先在您的控制器中解析来自 googleapis 的响应,并在第一级构建一个包含所有需要字段的书籍对象,然后将此书籍对象传递给 jinja 模板。希望这可以帮助

TA贡献1869条经验 获得超4个赞
您始终必须使用以下方式访问 jinja "."
:-
{{book["volumeInfo"].imageLinks.smallThumbnail"}}
如果它的数组使用''
,如果它的嵌套对象使用.
,但如果你想在 .py 文件中使用,使用''
一个。
添加回答
举报