您好,我有一個項目,我希望用戶上傳標題和正文文本以及一張名為問題的圖片,但是當我提交表單時,只有標題和正文不會保存圖片。我更改了模板中的表單標簽,但沒有幫助。提前致謝。models.py class Question(models.Model): author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='question_author') question=models.ImageField(upload_to='question/',blank=True,name="question") created_on = models.DateTimeField(auto_now_add=True) slug = models.SlugField(max_length=20, unique=True) title = models.CharField(max_length=128) body = models.CharField(max_length=400) class Meta: ordering = ['-created_on'] def save(self, *args, **kwargs): self.slug = self.slug or slugify(self.title) super().save(*args, **kwargs) def __str__(self): return self.titleclass Answer(models.Model): author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='answer_author') question = models.ForeignKey('Question', on_delete=models.CASCADE, related_name='question_answer') answer=models.ImageField(upload_to='question/',blank=True) created_on = models.DateTimeField(auto_now_add=True) body = models.CharField(max_length=400) class Meta: ordering = ['-created_on'] def get_absolute_url(self): return reverse("comment_detail",kwargs={'pk':self.pk})forms.pyclass QuestionForm(forms.ModelForm): class Meta: model=Question fields=['question','author','title','body']class AnswerForm(forms.ModelForm): class Meta: model=Answer fields=['author','answer','body']views.pyclass QuestionDetail(FormMixin, generic.DetailView): model = Question template_name = 'question_detail.html' context_object_name = 'question' form_class = AnswerForm我將表單部分從我的模板更改為 {{form}} ,在那里我可以看到表單并提交它,但是圖片還是沒有上傳。
1 回答

海綿寶寶撒
TA貢獻1809條經驗 獲得超8個贊
您需要enctype
在表單上指定屬性:
<form?method="post"?style="margin-top:?1.3em;"?enctype="multipart/form-data">
否則,request.FILES
將是空的。
添加回答
舉報
0/150
提交
取消