Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python jinja2.exceptions.UnfinedError:&x27;dict对象';没有属性';imageLinks';_Python_Json_Flask - Fatal编程技术网

Python jinja2.exceptions.UnfinedError:&x27;dict对象';没有属性';imageLinks';

Python jinja2.exceptions.UnfinedError:&x27;dict对象';没有属性';imageLinks';,python,json,flask,Python,Json,Flask,这是我的代码,谁调用错误: {% extends "add_book_header.html" %} {% block content %} {% if books %} <p>Results: {{ books|length }}</p> {% for book in books %} <div class="card h-100"> <img

这是我的代码,谁调用错误:

    {% extends "add_book_header.html" %}


{% block content %}
    {% if books %}
        <p>Results: {{ books|length }}</p>
        {% for book in books %}
            <div class="card h-100">
                <img src={{book["volumeInfo"]["imageLinks"]["smallThumbnail"]}} class="card-img-top">
                <div class="card-body">
                    <h5 class="card-title">{{ book["volumeInfo"]["title"]}}</h5>
                    <p class="card-text">descripthion</p>
                    <a href="#" class="btn btn-primary">link</a>
                </div>
            </div>
        {% endfor %}
    {% endif %}
{% endblock %}
你可以相信我,所有的钥匙都是对的。这是我的错误:

jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'imageLinks'
我已经为这个错误做了很多解决方案,我已经找到了。但是什么都没用。包括:

{% set img = book["volumeInfo"]["imageLinks"] %}
        ...
        <img src={{img["smallThumbnail"]}} class="card-img-top">
{%set img=book[“volumeInfo”][“imageLinks”]%}
...

第一个字符串工作正常,但第二个字符串是调用错误。拜托,我需要你的帮助

你没有考虑你的书对象

中的项目键。
{% 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 %}
{%block content%}
{%if书籍%}
结果:{books | length}}

{书籍中书籍的百分比%} {book['items']%中的项目的%s} {{item[“volumeInfo”][“title”]}

说明

{%endfor%} {%endfor%} {%endif%} {%endblock%}
> p>你没有考虑你的书对象

中的项目键
{% 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 %}
{%block content%}
{%if书籍%}
结果:{books | length}}

{书籍中书籍的百分比%} {book['items']%中的项目的%s} {{item[“volumeInfo”][“title”]}

说明

{%endfor%} {%endfor%} {%endif%} {%endblock%}
女贞女弗拉基米尔, 我看到你对我第一个答案的评论,删除了第一个答案。 似乎Jinja对象中的内部字典没有被正确解析,但我无法在我的计算机上重现您的错误。也许筑巢的层次太多了。 为了让它在我的电脑上正常工作,我必须纠正的一件事是那些在回复中出现的没有引号或大写字母的奇怪的对或错。也许这是这个问题的副作用。 我可以想象的另一种选择是,首先在控制器中解析来自googleapis的响应,并在第一级构建一个包含所有必需字段的book对象,然后将此book对象传递给jinja模板。 希望这对女贞女弗拉基米尔有所帮助, 我看到你对我第一个答案的评论,删除了第一个答案。 似乎Jinja对象中的内部字典没有被正确解析,但我无法在我的计算机上重现您的错误。也许筑巢的层次太多了。 为了让它在我的电脑上正常工作,我必须纠正的一件事是那些在回复中出现的没有引号或大写字母的奇怪的对或错。也许这是这个问题的副作用。 我可以想象的另一种选择是,首先在控制器中解析来自googleapis的响应,并在第一级构建一个包含所有必需字段的book对象,然后将此book对象传递给jinja模板。
希望这有助于

您在jinja中始终必须使用
访问,如:-

{{book["volumeInfo"].imageLinks.smallThumbnail"}}
如果其数组使用
'
,如果其嵌套对象使用

但是,如果您想在.py文件中使用,请使用
'
one。

您必须始终使用
在jinja中访问,如:-

{{book["volumeInfo"].imageLinks.smallThumbnail"}}
如果其数组使用
'
,如果其嵌套对象使用
但是如果您想在.py文件中使用,请使用
'
one.

非常感谢:)是的,第三级嵌套会出现错误。我将尝试在控制器中修复它非常感谢:)是的,错误出现在第三层嵌套上。我将尝试在控制器中修复它