Ошибка: Не был отправлен файл. Проверьте тип кодировки в форме
Пожалуйста У меня проблема с реестром продавца, все работало нормально до этого, так что я просто решил перепроверить все, что сделал, к моему удивлению код, который работал идеально до этого, больше не работает. пожалуйста, помогите мне ребята.............................................................................................................................................................
views.py
def registerRestaurant(request):
# this restrict user from going to Vendor Registration Page after Logged in
if request.user.is_authenticated:
messages.warning(request, "You are already logged in!")
return redirect('dashboard')
if request.method == 'POST':
form = UserForm(request.POST, request.FILES)
v_form = vendorForm(request.POST, request.FILES or None)
if form.is_valid() and v_form.is_valid():
password = form.cleaned_data['password'] # clean_data will return 'dict value'
user = form.save(commit=False)
user.set_password(password)
user.role = User.VENDOR
user.save()
vendor = v_form.save(commit=False)
vendor.user = user
user_profile = UserProfile.objects.get(user=user)
vendor.user_profile = user_profile
vendor.save()
mail_subject = 'Please Activate your Account'
email_template = 'accounts/emails/account_verification_email.html'
send_verification_email(request, user, mail_subject, email_template) #send_verification_email is function created in utils.py
messages.success(request, "Your Account has been Registered Successfully, Please Wait for Approval")
return redirect('registervendor')
else:
messages.error(request, 'An Error occurred during registration!')
else:
form = UserForm()
v_form = vendorForm()
context = {
'form': form,
'v_form': v_form,
}
return render(request, 'vendor/registervendor.html', context)
model.py (vendor)
class Vendor(models.Model):
user = models.OneToOneField(User, related_name='user', on_delete=models.CASCADE)
user_profile = models.OneToOneField(UserProfile, related_name='userprofile', on_delete=models.CASCADE)
vendor_name = models.CharField(max_length=50)
vendor_lincense = models.ImageField(upload_to='vendor/lincense')
is_approved = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
modified_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.vendor_name
model.py (UserProfile)
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, blank=True, null=True)
profile_picture = models.ImageField(upload_to='users/profile_pictures', blank=True, null=True)
cover_photo= models.ImageField(upload_to='users/cover_photos', blank=True, null=True)
address = models.CharField(max_length=250, blank=True, null=True)
country = models.CharField(max_length=20, blank=True, null=True)
state= models.CharField(max_length=20, blank=True, null=True)
city = models.CharField(max_length=20, blank=True, null=True)
pin_code = models.CharField(max_length=6, blank=True, null=True)
latitude = models.CharField(max_length=20, blank=True, null=True)
longitude = models.CharField(max_length=20, blank=True, null=True)
created_at = models.DateTimeField(auto_now_add=True)
modified_at = models.DateTimeField(auto_now_add=True)
# # Concatenate Address 1 and Address 2
# def full_address(self):
# return f'{self.address_line_1}, {self.address_line_2}'
def __str__(self):
return self.user.email
шаблон