Ошибка загрузки изображений Django, "Это поле обязательно для заполнения", "файлы не выбраны"

Я работал над проектом django. Я сделал приложение userprofiles для управления (создания, обновления) профилем пользователя на моем сайте, но оно не работает должным образом. Я получаю 'This field is required' & 'не выбран файл' при создании профиля пользователя и если я делаю blank=True в модели profile_picture пользовательские фотографии не сохраняются в media url. Я перепробовал множество советов из stackoverflow, но они не работают. Вот мой код:

# settings.py
MEDIA_URL = '/media/'
MEDIA_ROOT = str(BASE_DIR.joinpath('media'))

# models.py
from django.db import models
from django.contrib.auth import get_user_model
import uuid


class UserProfile(models.Model):
   author = models.OneToOneField(get_user_model(), on_delete=models.CASCADE)
   profile_picture = models.ImageField(upload_to='images/')
   id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
   bio = models.TextField(blank=True)
   occupation = models.CharField(max_length=100)
   hobbies = models.TextField(blank=True)
   date_of_birth = models.TimeField()

   def __str__(self):
       return self.author.username + ("'s profile")

# views.py
from django.views.generic import CreateView
from .forms import CustomUserCreationForm
from django.urls import reverse_lazy


class SignUpView(CreateView):
   form_class = CustomUserCreationForm
   template_name = "registration/signup.html"
   success_url = reverse_lazy("profile_create")

# project-level urls.py
from django.contrib import admin
from django.conf import settings
from django.urls import path, include
from django.conf.urls.static import static
from django.views.generic.base import TemplateView

urlpatterns = [
    path('admin/', admin.site.urls),
    path("accounts/", include("accounts.urls")),
    path("accounts/", include("django.contrib.auth.urls")),
    path("profile/", include("userprofiles.urls")),
    path("", TemplateView.as_view(template_name="home.html"), name="home"),
   ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

# app-level urls.py
from django.urls import path
from .views import ProfileCreateView

urlpatterns = [
     path("create/", ProfileCreateView.as_view(), name="profile_create")
 ]


# profile_create.html
 {% extends 'base.html' %}

 {% block title %}Create Your Profile{% endblock title %}

 {% block content %}

 <h2>Create Your Profile</h2>
 <form method="post">
    {% csrf_token %}
    {{ form.as_p }}

    <button type="submit">Create my profile</button>
 </form>

{% endblock content %}

скажите мне, в чем проблема, я застрял в нем, Спасибо

Полагаю, вы пропустили enctype в html-форме,

enctype="multipart/form-data"

форма должна быть,

<form method="post" enctype="multipart/form-data">
    {% csrf_token %}
    {{ form.as_p }}

    <button type="submit">Create my profile</button>
 </form>
Вернуться на верх