Как вытащить ссылку в html из django мультизагрузки?

В Django, для реализации мультизагрузки файлов, широко используется сторонний пакет django-multiupload. Этот пакет позволяет загружать несколько файлов одновременно через веб-страницу.

Для того чтобы вытащить ссылку на загруженный файл из django мультизагрузки, вам понадобится два компонента: представление (view) и шаблон (template).

Представление:

from django.shortcuts import render

def upload_files(request):
    if request.method == 'POST':
        uploaded_files = request.FILES.getlist('files')
        for file in uploaded_files:
            # Здесь можно выполнить какие-либо действия с файлом,
            # например, сохранить его на сервере или записать в базу данных

        # Здесь вам нужно вернуть шаблон с ссылками на загруженные файлы
        return render(request, 'upload_files.html', {'uploaded_files': uploaded_files})
    
    return render(request, 'upload_files.html')

Шаблон (upload_files.html):

<!DOCTYPE html>
<html>
<head>
    <title>Мультизагрузка файлов</title>
</head>
<body>
    <form action="{% url 'upload_files' %}" method="post" enctype="multipart/form-data">
        {% csrf_token %}
        <input type="file" name="files" multiple>
        <input type="submit" value="Загрузить">
    </form>

    {% if uploaded_files %}
        <h2>Загруженные файлы:</h2>
        <ul>
            {% for file in uploaded_files %}
                <li><a href="{{ file.url }}">{{ file.name }}</a></li>
            {% endfor %}
        </ul>
    {% endif %}
</body>
</html>

Здесь мы определяем представление upload_files, которое обрабатывает загрузку файлов через HTTP POST-запросы. Внутри данного представления мы получаем список загруженных файлов с помощью request.FILES.getlist('files'). После этого можно выполнить необходимые действия с каждым файлом.

Затем мы отрисовываем шаблон upload_files.html, передавая в него список загруженных файлов при помощи контекста. Если список uploaded_files не пустой, мы отображаем ссылки на каждый загруженный файл, используя file.name для отображения имени файла и file.url для отображения ссылки на него.

Важно также убедиться, что вы правильно настроили MEDIA_URL и MEDIA_ROOT в файле настроек Django (settings.py), чтобы файлы корректно отображались по ссылкам.

В результате выполнения кода и загрузки файлов через форму, вы должны увидеть на веб-странице список загруженных файлов с ссылками на них.