Проверка хода загрузки формы в 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 для реализации прогресс-бара, поэтому реализация этого не должна быть слишком сложной.

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