Проверка формы не проходит по какой-то причине, когда я пытаюсь обновить изображение на моей модели. Я также пытался обновить его, не используя библиотеку PIL
, все еще не работает.
class UpdateProfile(UpdateView):
template_name = 'dashboard/edit-profile.html'
form_class = UserForm
success_url = None
def get_object(self, queryset=None):
return User.objects.get(username=self.kwargs['username'])
def form_valid(self, form):
self.instance = form.save(commit=False)
user = self.get_object()
user.full_name = self.instance.full_name
user.username = self.instance.username
user.email = self.instance.email
user.description = self.instance.description
im = Image.new(self.instance.main_image)
user.profile_image = im
user.ig = self.instance.ig
user.fb = self.instance.fb
user.pinterest = self.instance.pinterest
user.twitter = self.instance.twitter
user.save()
return render(self.request, self.template_name, self.get_context_data())
Модель Image
атрибут
profile_image = models.ImageField(upload_to=save_profile_image,
default='/static/img/blog/avatars/user-01.jpg')
def save_profile_image(instance, filename):
if instance:
return '{}/{}'.format(instance.id, filename)
данные формы из html.
<form action="" class="tm-edit-product-form" method="post" enctype="multipart/form-data">
<div class="custom-file mt-3 mb-3">
<input id="fileInput" type="file" name="main_image" style="display: none"
accept="image/*"/>
{{ form.profile_image }}
</div>
</form>
В любом случае запрос POST
приходит, но объект не обновляется. Проблема заключается в ImageField
. Почему, черт возьми, это не работает так, как должно?