为了账号安全,请及时绑定邮箱和手机立即绑定

无法在 Django 模型中上传图像

无法在 Django 模型中上传图像

人到中年有点甜 2023-06-20 10:24:00
您好,我有一个项目,我希望用户上传标题和正文文本以及一张名为问题的图片,但是当我提交表单时,只有标题和正文不会保存图片。我更改了模板中的表单标签,但没有帮助。提前致谢。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将是空的。


查看完整回答
反对 回复 2023-06-20
  • 1 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信