Да ничего особенного. Берёшь Django и:
1) Пишешь сервис погоды. По введённому городу - погоду с API погоды. (
выбирай)
2) Вместо перезагрузки рендеренной страницы делаешь AJAX запрос с JQuery, к примеру. Банально заменяя кусок html
3) Переделываешь свой фронт и бэк так, чтобы по AJAX-запросу не кусок html отдавался, а JSON с данными, а на фронте - по этим данным перерисовывался твой виджет погоды.
4) Заменяешь самопальную view, отдающую JSON на view из Django Rest Framework.
5) Добавляешь кэширование запросов к своему и внешнему API
6) Прикручиваешь Celery для тоо, чтобы запросы к внешнему API шли по расписанию и у тебя была свежая инфа.
7) Реализуешь websocket/django-channel для того, чтобы доставлять изменения погоды на страничку пользователям авоматически (можно уже оформить погодный виджет в виде встраиваемого на сайт клиента)
8) Разбираешься с Docker, AWS и прочим для деплоя
Вуаля! Ты бэкенд-разработчик (и немножко фронт - но без этого, поверь, ну никак вообще - ты должен понимать, что там происходит хотя б в общий чертах). И немножко даже Devops. На Миддла не замахивайся, конечно, но как продвинутый джуниор - можешь претендовать и показывать всем свой крутой сервис погоды :)
Можешь по вкусу добавить пользователей, сессии, OAuth, JWT авторизацию и т.д. Тут уж главное - не сдерживать себя :-)