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

여기에는 두 가지 문제가 있습니다.

먼저보기에서 request.FILESrequest.POST을 양식에 전달해야합니다.

두 번째로 템플릿의 양식 요소에 enctype="multipart/form-data"이 포함되어야합니다.

+0

효과가있었습니다. 정말 고맙습니다! 'form = PicForm (request.POST, request.FILES 또는 None)'맞습니까? –