@Raccon08

Выдает ошибку list indices must be integers or slices, not str на 13 строке, в чем проблема?

Начинаю только изучать Python. Пробую сделать прогноз на 5 дней через API OpenWeathrMap для отображения его на локальном хосте Django. Выдает ошибку list indices must be integers or slices, not str на 13 строке. И как на OWM реализовать выдачу погоды по каждому дню, а не каждые 3 часа.
import requests
from django.shortcuts import render

def index(request):
    appid = 'd2c37acd30116d7d66777e643a1603b9'
    url = 'https://api.openweathermap.org/data/2.5/forecast?q={}&units=metric&cnt=1&appid=' + appid

    city = 'Москва'
    res = requests.get(url.format(city)).json()

    city_info = {
        'city' : city,
        'temp' : res["list"]["main"]["temp"],
        'icon' : res["list"]["weather"]["icon"]
    }

    context = {'info' : city_info}

    return render(request, 'weather/index.html', context)
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Ты очевидно что-то напутал со структурой данных res - на каком-то из уровней в ней список, а ты ожидаешь словарь с ключами-строками. Выведи эту структуру с помощью pprint, разберись, чем она отличается от твоих ожиданий, и поправь код обращения к res.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 250 000 ₽
Гринатом Москва
от 150 000 ₽
DIGITAL SECTOR Краснодар
от 150 000 до 250 000 ₽
27 июн. 2024, в 10:44
10000 руб./за проект
27 июн. 2024, в 10:29
18000 руб./за проект