Почему request.FILES.getlist возвращает пустой список?

прописал d forms.py приложения в джанго следующий код

from django import forms

class PostForm(forms.Form):
    title = forms.CharField(widget=forms.TextInput())
    text = forms.CharField(widget=forms.Textarea())
    images = forms.ImageField(widget = forms.ClearableFileInput(attrs={'multiple': 'multiple'}))

далее в views.py прописал следующий код

...
def create_post(request):
    if request.method == 'POST':
        form = forms.PostForm(request.POST, request.FILES)
        files = request.FILES.getlist('images')
        print(files, "ТУТ ДОЛЖНЫ БЫЛИ БЫТЬ ИЗОБРАЖЕНИЯ КАКОГО ФИГАААААА")
        return redirect('Home')

    else:
        form = forms.PostForm
        return render(request, 'mainapp/createpost.html', {'f': form})
...

При выполнении запроса на создание записи должен срабатывать этот метод и тут всё ясно: заполнение формы и отправка её на сервер, но тут трабла, я хочу сделать загрузку сразу нескольких картинок, а для обращения к ним нужно обращаться через request.FILES.getlist('{имя поля формы}'), но при попытке вывести его значения в консоль, то есть после выполнение всего кода views.py мне в консоле пишет следующее:

[06/Jul/2021 18:16:22] "GET /create HTTP/1.1" 200 712
[06/Jul/2021 18:16:22] "GET /static/mainapp/style.css HTTP/1.1" 404 1810
[06/Jul/2021 18:16:36] "GET /create HTTP/1.1" 200 806
[06/Jul/2021 18:16:36] "GET /static/mainapp/style.css HTTP/1.1" 404 1810
[] ТУТ ДОЛЖНЫ БЫЛИ БЫТЬ ИЗОБРАЖЕНИЯ КАКОГО ФИГАААААА 
[06/Jul/2021 18:16:43] "POST /create HTTP/1.1" 302 0
[06/Jul/2021 18:16:43] "GET / HTTP/1.1" 200 649
[06/Jul/2021 18:16:43] "GET /static/mainapp/style.css HTTP/1.1" 404 1810

Почему так? Я вроде всё делал правильно и всё работает, сразу несколько изображений выбирается, но как при попытке получить список изображений он выдает пустой список.

createpost.html

{% extends 'mainapp/base.html' %}

{% block title %}
Создание поста
{% endblock %}

{%block cont%}
    <form method = 'post'>
        {% csrf_token %}
    <pre>
        Заголовок: {{f.title}}
        {{f.title.errors}}

        Текст: {{f.text}}
        {{f.text.errors}}

        Изображения: {{f.images}}
        {{f.images.errors}}
    </pre>
        <button type = submit>Опубликовать</button>
    </form>
{%endblock%}

base.html

<!DOCTYPE html>
{% load static %}
<html>
<head>
    <link rel="stylesheet" href="{%static 'mainapp/style.css'%}">
    <meta charset="UTF-8">
    <title>
        {%block title%}

        {%endblock%}

    </title>
</head>
<body>
{%block cont%}



{%endblock%}
</body>
</html>

P.S Не обращайте внимания на всякие аспекты типо не указания класса для полей форм и на то, что я не сделал проверку полей форм, пока я не задал сюда вопрос, я кучу проверок делал, но, увы, решение не нашёл.


Ответы (1 шт):

Автор решения: Миша

enctype="multipart/form-data" укажите в форме что бы отправка файлов работала

→ Ссылка