@1esman

Почему выдает ошибку TypeError: 'NoneType' object is not subscriptable?

Так, пытаюсь сделать погодник, код:

from flask import Flask

from req import get_weather

from datetime import datetime

city_id = 532288
apikey = 'dba6f98e18c572e5fd0c534549dd2814'

app = Flask(__name__)

@app.route('/')
def index():
	url = 'http://api.openweathermap.org/geo/1.0/direct?id=%s&units-metric&appid=%s' % (city_id, apikey)
	weather = get_weather(url)

	result = 'Temp: %s' % weather['main']['temp']
	result += 'City: %s' % weather['name']

	return result


if __name__ == '__main__':
	app.run()


При запуске выдает ошибку в 17 строке (result = 'Temp: %s' % weather['main']['temp'])
main и temp, как я понял, должны браться из url, который указан в 14 строке. Но видимо, я что то не так понял(
Буду благодарен за помощь в решении проблемы.
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Ну сайт в ответ на такой запрос отдаёт
Invalid API key. Please see openweathermap.org/faq#error401 for more info

Так что не удивлюсь, если get_weather() возвращает None из-за этого.

Вообще мне интересно о чём ты думаешь, если ты не проверяешь успешность сетевой операции. А если сайт лёг? А если забанили? Тут сто разных если может быть.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы