Ошибка Multi Value DictKey в django при получении файлов в Django
Итак, у меня есть простой код django, в котором пользователь загружает изображение, чтобы изменить свой пользовательский образ. но всякий раз, когда я пытаюсь инициировать функцию, она выбрасывает ошибку многозначного диктующего ключа.
Views.py
def image(request):
email = request.user.email
img = request.FILES['image']
users = get_user_model()
User = users.objects.get(email=email)
User.image = img
User.save()
return redirect('settings')
Я также использую пользовательскую модель пользователя, поэтому вот мой models.py
class NewUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(unique=True,)
user_name = models.CharField(max_length=150, unique=False)
first_name = models.CharField(max_length=150, blank=True)
last_name = models.CharField(max_length=150, blank=True)
image = models.ImageField(upload_to = 'pics')
DOB = models.CharField(max_length =12, default=timezone.now)
start_date = models.CharField(max_length =12,default=timezone.now)
about = models.TextField( max_length=500, blank=True)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
is_buss = models.BooleanField(default=False)
phone = models.CharField(max_length=12)
otp = models.CharField(max_length=6, null=True)
otp_g = models.CharField(max_length=15, null=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['user_name','first_name']
objects = CustomAccountManager()
def __str__(self):
return self.user_name
class CustomAccountManager(BaseUserManager):
def create_superuser(self, email,user_name, first_name,password, **other_fields):
other_fields.setdefault('is_staff', True)
other_fields.setdefault('is_superuser', True)
other_fields.setdefault('is_active', True)
if other_fields.get('is_staff') is not True:
raise ValueError('SuperUser must have is_staff as true')
if other_fields.get('is_active') is not True:
raise ValueError(_('SuperUser must have is_active as true'))
if other_fields.get('is_superuser') is not True:
raise ValueError('SuperUser must have is_SuperUser as true')
return self.create_user(email,user_name, first_name, password, **other_fields)
def create_user(self, email,user_name, first_name, password, **other_fields):
if not email:
raise ValueError('please provide an email')
email = self.normalize_email(email)
user = self.model(email=email,user_name = user_name, first_name=first_name, **other_fields )
user.set_password(password)
user.save()
return user
Мой Html код
<div class="pl-sm-4 pl-2" id="img-section">
<form action="image" method="get">
<input class="image" type="file" name="image"><br>
<input type="submit" value="UPLOAD" class="upload"><br>
</form>
</div>