Как я могу использовать числа от 1 до 20 внутри [] "json () ['внутри этого']" - PullRequest
0 голосов
/ 07 августа 2020

вот мой views.py

from django.shortcuts import render
import requests


def home(request):
    data = True
    result = None
    globrep = None
    countries = None
    res = None
    ind = None
    city = None
    city1 = None
    while (data):
        try:
            result = requests.get("https://api.covid19api.com/summary")
            globrep = result.json()['Global']
            countries = result.json()['Countries']

            res = requests.get("https://api.covid19india.org/data.json")
            ind = res.json()['statewise']

            city = requests.get("https://api.covidindiatracker.com/state_data.json").json()[0:20]['state']
            city1 = requests.get("https://api.covidindiatracker.com/state_data.json").json()[0:20]['districtData']

            data = False
        except:
            data = True

    return render(request, 'covid_app/home.html',
                  {'globrep': globrep, 'countries': countries, 'ind': ind, 'city': city, 'city1': city1})

В этом коде я использую json()[0:20)]['state'], но он не работает, пожалуйста, предложите способ использовать от первых до 20 данных этого API. и индекс не выходит за пределы.

Это мой home.html,

{% extends 'base.html' %}

{% block content %}



{{ city }}<br> <br>




{% for i in city1 %}

{{ i.name }}<br>
{{ i.confirmed }}<br><br>

{% endfor %} 


{% endblock content %}

, пожалуйста, предложите мне, как получить первые 20 данных из api с помощью метода json (). ....

1 Ответ

0 голосов
/ 07 августа 2020

Вы не можете напрямую использовать json()[0:20]['state'], чтобы получить все 20 состояний сразу. Вам нужно перебрать список и собрать значение ключа state.

import requests

data =requests.get("https://api.covidindiatracker.com/state_data.json").json()

city = [c["state"] for c in data]
district_data = [district["districtData"] for district in data]

home. html

{% extends 'base.html' %}
{% block content %}
{{ city }}<br> <br>
{% for districts in district_data %}
    {% for district in districts %}
        {{ district.name }}<br>
        {{ district.confirmed }}<br><br>
    {% endfor %}
{% endfor %}
{% endblock content %}

соответственно измените переменные контекста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...