Как обновлять поля изображений с помощью форм Django
Я пытаюсь создать приложение для ведения блога, и в нем у меня есть 2 формы, одна для редактирования уже существующих постов, а другая для их создания. Однако я не могу получить обновленные изображения, когда отправляется форма редактирования. Все текстовые данные проходят через...
Models.py:
class Post(models.Model):
title = models.CharField(max_length=200, unique=True)
slug = models.SlugField(max_length=200, unique=True)
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name= 'blog_posts')
short_description = models.TextField()
updated_on = models.DateTimeField(auto_now=True)
content = RichTextUploadingField()
created_on = models.DateTimeField(auto_now=True)
status = models.IntegerField(choices=Status, default=0)
cover_image = models.ImageField(upload_to = 'coverimages', null =True, blank = True)
captioned_image = models.ImageField(upload_to = 'captionedimages', null=True, blank = True)
caption = models.CharField(max_length=300)
featured = models.IntegerField(choices=Featured, default=1)
category = models.ForeignKey(PostCategory, on_delete=models.CASCADE, null=True, blank=True)
embedded_code = models.TextField(blank=True, null=True, default='null')
tags = models.ManyToManyField(Tag, blank=True)
class Meta:
ordering = ['-created_on']
def __str__(self):
return self.title
forms.py:
class EditForm(forms.Form):
title = forms.CharField(max_length=100, label='Post Title')
short_description = forms.CharField(widget=forms.Textarea(attrs={"rows":3, "cols":100}))
content = forms.CharField(widget=CKEditorUploadingWidget())
status = forms.NullBooleanField(label='Ready to Publish?')
image = forms.ImageField(label='Select a cover image:', required=False)
captioned_image = forms.ImageField(label='Select a captionable image:', required=False)
caption = forms.CharField(max_length=200)
try:
category = forms.ModelChoiceField(queryset=PostCategory.objects.all())
except:
category = forms.ChoiceField(choices= ('default'))
embed = forms.CharField(widget=forms.Textarea(attrs={"rows":3, "cols":100}))
tags = forms.CharField(widget=forms.Textarea(attrs = {"rows":1, "cols":150}))
editpost.html:
После отправки формы изображение не сохраняется в папке media/coverimages, и сервер разработки возвращает:
Not Found: /media/images.jpg
[23/Jan/2022 09:16:24] "GET /media/images.jpg HTTP/1.1" 404 3786
Одна вещь, которую я заметил, это то, что если я использую админку сайта, изображение загружается правильно, что наводит меня на мысль, что возможно проблема в форме или в том, как она обрабатывается