python - Django 图片上传总是失败,表单永远无效

标签 python django image forms

一个简单的图像上传到默认的 django 数据库永远不会完成。该错误似乎表明图像字段出现问题,因为我的 views.py 打印 form.errors,它返回

  • 图片
  • 此字段是必需的。
  • 这是我的代码,我只上传了我认为可能会影响它的内容。

    模型.py

    class Image(models.Model):
         name = models.CharField(max_length=128, unique=True)
         image = models.ImageField(upload_to="user_images")
         slug = models.SlugField(unique=True)
    
        def save(self, *args, **kwargs):
           self.slug = slugify(self.name)
           super(Image, self).save(*args, **kwargs)
    
       def __unicode__(self):
           return self.name
    

    表单.py

    from django import forms
    from shareIt.models import Image
    
    class ImageForm(forms.ModelForm):
        name = forms.CharField(max_length=128, help_text="Please enter an image name")
        image = forms.ImageField()
        slug = forms.CharField(widget=forms.HiddenInput(), required=False)
    
    class Meta:
        model = Image
        fields = ('name', 'image')
    

    views.py

    def uploadImage(request):
    
    if request.method== 'POST':
        form = ImageForm(request.POST, request.FILES)
        if form.is_valid():
            form.save(commit=True)
            return images(request)
        else:
            print form.errors
    else:
        form = ImageForm()
    
    contextdict = {"form": form}
    return render(request, 'uploadImage.html', contextdict)
    

    uploadImage.html

    <html>
    <form id="upload" action="/share/images/upload" method="post">
        {% csrf_token %}
        {{ form.as_p }}
    
    <input type="submit" name="submit", value="upload image" />
    </form>
    

    最佳答案

    添加 enctype属性为 <form>标签:

    <form id="upload" action="/share/images/upload" enctype="multipart/form-data" method="post">
    

    关于python - Django 图片上传总是失败,表单永远无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30138370/

    相关文章:

    javascript - 在 django 和 javascript 中按日期进行测试

    python - 如何在django模板中获取类

    Android 列出所有可用的图像

    html - Safari 不显示图像,但 FireFox 可以

    python - OpenCV - 如何找到圆角矩形的矩形轮廓?

    python - 在 Python 中结合 CountVectorizer 和 ngrams

    python - 识别非连续零的索引值

    javascript - Django 减少模板渲染时间

    JavaScript 创建图像和 document.readyState

    python - 比较 Pandas 数据框中的两列