Как загрузить изображение профиля, соответствующее пользователю?

models.py

from django.db import models  
from django.forms import fields, ModelForm
from .models import UploadImage  
from django import forms  

  
class UploadImageForm(ModelForm):  
    class Meta:  
        # To specify the model to be used to create form  
        model = UploadImage  
        # It includes all the fields of model  
        fields = ['picture']  

forms.py

from django.db import models
from django import forms
from django.contrib.auth.models import User

# Create your models here.
class UploadImage(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    picture = models.ImageField(default='default.jpg', upload_to='profile_pics')

views.py

from django.http import HttpResponse
from django.shortcuts import get_object_or_404, redirect, render
from django.contrib.auth.models import User
from django.contrib import messages

from Profile.models import UploadImage
from Profile.forms import UploadImageForm

def profile(request):
    if request.method == 'POST':
        form = UploadImageForm(request.POST, request.FILES, instance=request.user.profile)
        if form.is_valid():
            form.save()
            return HttpResponse('uploaded')
    else:
        form = UploadImageForm(instance=request.user.profile)
    username = request.user.username
    first_name = request.user.first_name
    last_name = request.user.last_name
    email = request.user.email
    userinfo = {
        'username': username,
        'first_name': first_name,
        'last_name': last_name,
        'email': email,
        'form': form,
    }
    return render(request, 'profile.html', userinfo)

Я хочу, чтобы пользователь загружал изображение в свой профиль. Я создал модель для загрузки изображения и изображения загружаются, но другие поля, которые распознают, что это загруженное изображение этого пользователя, пусты в базе данных, также после изменения некоторых кодов миграции не происходит. нужно значение по умолчанию для поля пользователя в модели UploadImage. Помогите!!!

Насколько я понял, у вас возникла проблема с миграцией после изменения чего-то в models.py. Я думаю, вы можете попробовать следующее. Picture = models.ImageField(blank=True, null=True, upload_to='profile_pics', default='default.jpg') Это позволит принимать значения без каких-либо изображений. После этого вы можете удалить все значения, которые уже были в вашей базе данных, и вернуться к предыдущей модели, если хотите.

Вернуться на верх