Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-表单文件字段错误“;此字段为必填字段;_Python_Django_Django Forms - Fatal编程技术网

Python Django-表单文件字段错误“;此字段为必填字段;

Python Django-表单文件字段错误“;此字段为必填字段;,python,django,django-forms,Python,Django,Django Forms,我想将Post表单添加到django项目中,但我的文件归档有问题。这是我的密码: forms.py class PostForm(forms.ModelForm): class Meta: model = Post fields = [ 'author', 'image', 'title', 'body' ] models.py class Post(models.Model): a

我想将Post表单添加到django项目中,但我的文件归档有问题。这是我的密码:

forms.py

class PostForm(forms.ModelForm):

   class Meta:
      model = Post
      fields = [
        'author',
        'image',
        'title',
        'body'
    ]
models.py

class Post(models.Model):
    author = models.ForeignKey('auth.User')
    image = models.FileField(default="", blank=False, null=False)
    title = models.CharField(max_length=200)
    body = models.TextField()
    date = models.DateTimeField(default=timezone.now, null=True)

    def approved_comments(self):
        return self.comments.filter(approved_comment=True)

    def __str__(self):
        return self.title
如果有帮助的话。我还在

谢谢您的帮助。

来自

您需要将
request.FILES
传递到绑定表单

bound_form = PostForm(request.POST, request.FILES)
您需要在文件字段中提及上传路径

enctype=“多部分/表单数据”
添加到表单中

为了得到这些文件

PostForm(request.POST, request.FILES)
如果需要将字段设置为可选字段

class PostForm(forms.ModelForm):
image = forms.FileField(required=False)
   class Meta:
      model = Post
      fields = [
        'author',
        'image',
        'title',
        'body'
    ]

在解决了其他一些问题之后,我来到这里,比如模型中的
upload\u
,以及html表单标记中的
enctype='multipart/form data'
,它正在工作
class PostForm(forms.ModelForm):
image = forms.FileField(required=False)
   class Meta:
      model = Post
      fields = [
        'author',
        'image',
        'title',
        'body'
    ]