Django应用程序用于循环通过包含单个字典的列表

pobjuy32  于 2023-10-21  发布在  Go
关注(0)|答案(1)|浏览(75)

我正在创建一个Django应用程序,使用json通过API解析来自互联网的数据。结果以包含字典的列表的形式显示,如下所示
以下是视图页中使用的代码

def home(request):
    import requests
    import json
    ####
    api_request=requests.get("xyz...URL")     
try:
    api=json.loads(api_request.content)
except Exception as e:
    api="Error"   
return render(request, 'home.html',{"api": api})

我正在使用以下代码在主页上呈现API。它会让你

{% extends 'base.html' %}
{% block content %}
<h1>Hello World!</h1>  
{{api.values}}
{% endblock %}

输出的形式是包含字典的列表,如下所示

[{'A': 53875881, 'B': 'cl', 'CH': -0.38, 'CHP': -0.00216, 'CLP': 175.46}]

我想得到这些值如下

A  : 53875881
 B  : 'cl'
 CH : -0.38
 CHP: -0.00216
 CLP: 175.46

我已经尝试了下面的代码来遍历列表中包含的字典。我没有得到任何输出。只是一个空的网页

{% extends 'base.html' %}
{% block content %}
{% if api %}
   {% if api == "Error..." %}
    check your ticker symbol
   {% elif api != "Error..." %}
       {% for element in api %}
           {% for key, value in api.items %}
           {{ key }}:{{ value }}
           {% endfor %}
        {% endfor %}        
    {% endif %}
 {% endif %}
{% endblock %}

我也尝试过其他代码直接循环通过列表。

{% extends 'base.html' %}
    {% block content %}
    {% if api %}
       {% if api == "Error..." %}
        check your ticker symbol
       {% elif api != "Error..." %}
             {% for key, value in api.items %}
               {{ key }}:{{ value }}
             {% endfor %}       
       {% endif %}
     {% endif %}
 {% endblock %}

我请求有人来看看并指导我。我想不通

bgibtngc

bgibtngc1#

你的第一段代码似乎没问题,但是你忘记在嵌套的for循环中使用element变量。
试试这个:

{% extends 'base.html' %}
{% block content %}
{% if api %}
   {% if api == "Error..." %}
    check your ticker symbol
   {% elif api != "Error..." %}
       {% for element in api %}
           {% for key, value in element.items %}
           {{ key }}:{{ value }}
           {% endfor %}
        {% endfor %}        
    {% endif %}
 {% endif %}
{% endblock %}

相关问题