Проверка хода загрузки формы в Django
Возможно ли отследить прогресс загрузки пользовательской формы на текущей странице до перенаправления браузера на атрибут actions формы?
В шаблоне Django у меня есть форма, как показано ниже;
Принимает данные пользователя, такие как имя, возраст и несколько изображений из поля ввода. Если я загружу сюда большое изображение, мне придется ждать больше времени, прежде чем форма перенаправит меня на страницу успеха. Если я смогу увидеть прогресс-бар или что-то, что подтверждает оставшееся время до страницы успешной отправки формы, это будет лучше
{% extends "base.html" %}
{% block content %}
{% if form.errors %}
<p style="color: red;">
Please correct the error{{ form.errors|pluralize }} below.
</p>
{% endif %}
<div data-role="content" style="padding: 15px">
<form action="{% url success %}" method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form.errors }}
{{ form.non_field_errors }}
{{ form.as_table }}
<input type="submit" value="Submit" id="Save">
</form>
</div>
{% endblock %}
Это невозможно с помощью Django per-se, так как это должно быть реализовано с помощью JavaScript или аналогичного языка на стороне клиента. Используя JavaScript, вы можете добавить конечную точку Django, куда вы загружаете данные, а затем использовать AJAX для асинхронной отправки данных в конечную точку. Вы можете показать индикатор выполнения, поскольку он находится на стороне клиента. Однако таким образом вы не сможете использовать форму Django для этой части загрузки.
Существует множество библиотек и сниппетов для JS для реализации прогресс-бара, поэтому реализация этого не должна быть слишком сложной.