2017-07-25 162 views
1

PostgreSQLをdjangoプロジェクトに追加したいのですが、FileFiledに問題があります。Django - フォームFileFieldエラー "このフィールドは必須です"

forms.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 

それが助け場合

class PostForm(forms.ModelForm): 

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

models.py:ここに私のコードです。私もenctype="multipart/form-data<form>に設定しました

ありがとうございます。あなたが結合した形にrequest.FILESを渡す必要がdocs

から

答えて

1
class Post(models.Model): 
    author = models.ForeignKey('auth.User') 
    image = models.FileField(upload_to='path') 
    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 

フィールドを任意に設定する

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

うーん!どうも! – jestembotem

+0

それが仲間を助けたら答えを受け入れることを忘れないでください。 – Exprator

1

。あなたがする必要がある場合、フォームに

enctype="multipart/form-dataを追加して、ビュー内のファイル

PostForm(request.POST, request.FILES) 

を取得するためにFileFieldに

でupload_pathを言及する必要が

bound_form = PostForm(request.POST, request.FILES) 
関連する問題