장고 템플릿에 장고 ImageField
에 해당하는 input
필드가 있습니다.POST 요청에서 이미지 입력이 누락되었습니다
<form action="/accounts/username/"
method="post"
id="profile_form"
enctype="multipart/form-data">
</form>
... (other input fields and elements)
<input form="profile_form" id="id_profile_pic" name="profile_pic" type="file" />
해당 View
는 UpdateView
입니다 : 같은 렌더링의 HTML 보인다. 나는 request.FILES
이 비어 있고 request.cleaned_data
이 'profile_pic': None
을 포함하는 것을 발견했다.
POST 데이터를 추적하기 위해 방화 쇠를 사용했습니다. 다른 필드가 포함되어 있지만 profile_pic
은 포함되어 있지 않습니다.
내 죄악은 무엇입니까? 파일이 업로드되지 않는 이유는 무엇입니까?
슬프게도, 틀렸어. 다른 모든 입력 필드는 양식 태그 외부에서 유사하게 구조화되며 여전히 서버에 POST됩니다. 또한 미신에서 파일 입력 태그를 양식에 넣으려고했지만 그 역시 도움이되지 않는다고 언급해야합니다. 참고로 'form' 속성을 참조하십시오. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#Attributes – battery
두 번째 추측은 _just_ 입력 유형을 변경하는 것입니다. 예 : 텍스트 입력에 전송하여 전송되는지 확인합니다. 그렇다면 문제는 파일 입력에 대한 것임을 확인합니다. 파일 입력은 예외적 인 처리가 많이 필요하기 때문에 가능성이 가장 높습니다. –
Re : 'form' 속성 : 오늘 나는 뭔가를 배웠습니다! –