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

Django app for loop through list containing a single dictionary

提问人:Raghavan vmvs 提问时间:10/20/2023 更新时间:10/20/2023 访问量:28

问:

我正在创建一个 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 %}

我请求有人看一看并指导我。我无法弄清楚这个问题

python django 列表 循环

评论


答:

1赞 0urz4g 10/20/2023 #1

您的第一个代码似乎没问题,但您忘记在嵌套的 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 %}

评论

0赞 Raghavan vmvs 10/20/2023
会试试这个先生。
0赞 Raghavan vmvs 10/20/2023
谢谢。我可以要求简短解释为什么我的代码不起作用吗
1赞 0urz4g 10/20/2023
变量 “api” 是数组,变量 “element” 是数组中每个字典的变量。
0赞 Raghavan vmvs 10/20/2023
非常感谢。非常感谢