Первый раз загрузка страницы происходит секунд 10 или дольше, потому что сайт вытаскивает данные из api, поэтому я хочу или повесить прелоадер или показывать какую-то заглушку, которая поменяется на реальную страницу после получения всех данных. Проблема в том, что вообще любые данные, в том числе и прелоадер если его пытаться добавить, появляются только после того, как все данные получены.
У меня получилось решить эту проблему с помощью класса во views.py, в котором первая функция была GET и она сразу рендерила страницу с каким-то сообщением, а вторая POST и она вызывалась при нажатии на кнопку. Но я бы не хотел никаких кнопок и дополнительных действий для пользователя. Просто бы вывести какое-то сообщение, что нужно подождать пока сайт получит все данные.
Мой файл view.py сейчас выглядит вот так. Функция get_info в файле getinfo.py делает запрос к api и возвращает словарь с данными.
У меня получилось решить эту проблему с помощью класса во views.py, в котором первая функция была GET и она сразу рендерила страницу с каким-то сообщением, а вторая POST и она вызывалась при нажатии на кнопку. Но я бы не хотел никаких кнопок и дополнительных действий для пользователя. Просто бы вывести какое-то сообщение, что нужно подождать пока сайт получит все данные.
Мой файл view.py сейчас выглядит вот так. Функция get_info в файле getinfo.py делает запрос к api и возвращает словарь с данными.
Код:
def index(request):
ctx = getinfo.get_info(request)
return render(request, 'app/index.html', ctx)