2017-01-17 4 views
0

私はformを持っていますが、ユーザーが画像をアップロードするだけですが、画像を選択してボタンを押すと問題が発生します。私は既にイメージを指摘していますが、それはThis field is required.と書かれています。それがすべてです。実際に提出されたかどうかを確認しましたが、そうではありませんでした。何が問題なのでしょうか?Django:フォームデータが保存されない

Models.py

class pic(models.Model): 
    username = "anonymous" 
    picpost = models.ImageField(upload_to='anon_pics') 
    creation_date = models.DateTimeField(auto_now_add=True) 

forms.py

from django import forms 
from .models import pic 

class PicForm(forms.ModelForm): 
    class Meta: 
     model = pic 
     fields = [ 
      "picpost" 
     ] 

view.py

def pic_create(request): 
    form = PicForm(request.POST or None) 
    if form.is_valid(): 
     instance = form.save(commit=False) 
     instance.save() 
    context = { 
     "form" : form, 
    } 
    return render(request, "create_pic.html", context) 

CR eate_pic.html

<body> 
    <form method='POST' action=''>{% csrf_token %} 
     {{ form.as_p }} 
     <input type='submit' value='Upload Picture' /> 
    </form> 
</body> 

すべてのヘルプ非常に非常にあなたをappreciated.Thankです!

答えて

1

ここには2つの問題があります。

まず、request.FILESrequest.POSTをビューに渡す必要があります。

第2に、テンプレートのフォーム要素にenctype="multipart/form-data"を含める必要があります。

+0

これは機能しました。どうもありがとうございます! 'form = PicForm(request.POST、request.FILESまたはNone)'そうですか? –

関連する問題