Как сделать загрузку картинки в django

Я делаю что-то по типу социальной сети на django. Мне нужно сделать загрузку аватарки со страницы редактирования профиля пользователя. Я установил MEDIA_URL и MEDIA_ROOT в settings.py, в urls.py при дебаг равном истине добавил медиа-файлы. В кастомной модели пользователя есть поле avatar c blank=True (чтобы аватарка была не обязательной), вьюха наследуется от UpdateView + миксин на проверку, что текущий пользователь является владельцем аккаунта. Причем из админки изображения загружаются нормально, а с самой страницы редактирования профиля они не загружаются.

models.py

avatar = models.ImageField(upload_to="user_avatars/", blank=True)

views.py

class CustomUserUpdateView(AuthorPermissionsMixin, UpdateView):
    model = CustomUser
    fields = [
        "username",
        "first_name",
        "last_name",
        "email",
        "birthday",
        "phoneNumber",
        "country",
        "slug",
        "avatar",
    ]
    template_name = "accounts/customuser_edit.html"

ссылка на страницу редактирования

{% if customuser == request.user %}
        <p><a href="{% url 'customuser_edit' customuser.id %}">Редактировать</a></p>
{% endif %}

страница редактирования (customuser_edit.html)

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

{% block content %}
    <p>Редактировать</p>
    <form method="post">
        {% csrf_token %}
        {{ form.as_p }}
        <button type="submit">Сохранить</button>
    </form>
{% endblock content %}

В консоли на post-запрос на редактирование выводится 302 код

"POST /accounts/1/edit/ HTTP/1.1" 302 0

Пакеты:

asgiref==3.5.2
certifi==2022.9.24
cffi==1.15.1
charset-normalizer==2.1.1
cryptography==38.0.3
defusedxml==0.7.1
Django==4.1.3
django-allauth==0.51.0
django-friendship==1.9.6
fontawesomefree==6.2.0
idna==3.4
oauthlib==3.2.2
Pillow==9.3.0
pycparser==2.21
PyJWT==2.6.0
python3-openid==3.2.0
requests==2.28.1
requests-oauthlib==1.3.1
sqlparse==0.4.3
tzdata==2022.6
urllib3==1.26.12
Вернуться на верх