Задать вопрос

Как разделить пользовательскую и серверную часть django проекта?

Добрый день. Разрабатывается проект на django.
Возникла следующая ситуация:
Пользователю предлагается ввести несколько данных, после этого он нажимает на кнопку "Подтвердить" и данные отправляются на сервер, где начинается их обработка, она может занимать некоторое время, примерно минуту. В это время пользователь видит ту же самую html страницу, которая была и до ввода и нажатия на кнопку "Подтвердить".
Собственно вопрос, как после нажатия на кнопку "Подтвердить" вывести пользователю отдельную html страницу, а когда на сервер обработает данные, показать ему уже результаты работы?
Буду рад любым комментариям по поводу этой проблемы. Спасибо!
  • Вопрос задан
  • 2333 просмотра
Подписаться 4 Оценить Комментировать
Решения вопроса 1
sim3x
@sim3x
Как сделать форму
https://docs.djangoproject.com/en/1.6/topics/class...

Как сделать таск для бекграунд обработки
docs.celeryproject.org/en/latest/getting-started/f...

Для показа результата -- рефреш страници каждие Х сек
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@bromzh
Drugs-driven development
Самый простой вариант - подгружать данные аяксом. Когда аякс запрос не закончился, выводить одну информацию (настраивается в jquery), когда аякс закончился (т.е. вызвался колбек) - отрисовывать результаты или делать редирект на страницу с результатами.
Сложный вариант - использовать асинхронный сервер с вебсокетами, на клиенте ждать нужного сообщения, по приходу которого отображать полученные данные или редиректить на нужную страницу.
Ответ написан
Комментировать
Aldaron1
@Aldaron1
Можно отдать пользователю шаблон, который подтянет потом данные AJAX'ом
Ссылка на пример
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Strikt Москва
от 100 000 до 180 000 ₽
ITK academy Саратов
от 75 000 ₽
Sim-Ba Pay Санкт-Петербург
от 180 000 ₽