Я делаю что-то по типу социальной сети на 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