Django: Невозможно сохранить изображение из шаблона

Если я пытаюсь сохранить изображение из админки сайта, оно работает правильно. Но я пытаюсь сохранить изображение из шаблона, и оно не работает. вот мой код

models.py:

class About(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    profilePicture = models.ImageField(upload_to='images/profile/', default = 'images/useravater.png')

views.py:

def editProfile(request):
    if request.method == 'POST':
        profilePicture = request.FILES['pp']
        About.objects.filter(user=request.user).update(profilePicture=profilePicture)
    # more code...

html:

<form style="width: 100%;" action="/editProfile/" method="POST" enctype="multipart/form-data">{% csrf_token %}
    <input id="inputpp" type="file" accept="image/*" name="pp" title="Select Image">
    <!-- more code -->
</form>

после выполнения этого кода, если я попытаюсь вывести:

print(About.objects.get(user=request.user).profilePicture.url)

показывает:

Not Found: /media/image_name.jpg

Можете ли вы найти мою проблему? как мне сохранить изображение в /media/images/profile/?

В вашем случае лучше использовать OneToOneField.

models.py:

class About(models.Model):
    user = models.OneToOneField(User, related_name='about' on_delete=models.CASCADE)
    profilePicture = models.ImageField(upload_to='images/profile/', default = 'images/useravater.png')


views.py:

def editProfile(request):
    if request.method == 'POST':
        profilePicture = request.FILES['pp']
        if request.user.about:
            request.user.about.profilePicture=profilePicture
            request.user.about.save()
        # more code...
Вернуться на верх