Проблема Django с отсутствующим " подчеркиванием" в url

Я начинающий и нуждаюсь в небольшой поддержке. В приложении все работает, но когда в форме набираю "new york", в url не хватает "_".

Мой код такой

res = urllib.request.urlopen(f'http://api.openweathermap.org/data/2.5/weather?q={city}&appid=1b79ea7b1251b7a830b41a81d6bd').read()


В ответ приходит "

InvalidURL at /
URL can't contain control characters. '/data/2.5/weather?q=bielsko biala&appid=1b79ea7b1251b76cc0b41a81d6bd' (found at least ' ')

Я ищу решения в интернете, но сам не могу решить эту проблему. Большое спасибо за помощь

Вам просто нужно заменить пробелы в городе на закодированные значения.

Попробуйте это:

import urllib.parse    
res = urllib.request.urlopen(f'http://api.openweathermap.org/data/2.5/weather?q={urllib.parse.quote(city)}&appid=1b79ea7b1251b76ccda81d6bd').read()

это для кодирования города в URL.

Вернуться на верх