장고에서 여러 파일 필드를 어떻게 처리합니까? 예를 들어 양식 필드가 하나만있는 경우 요청을 전달합니다. 파일 [ 'file']을 처리 함수로 전달합니다. 그러나 더 많은 파일이있을 때 어떻게 갈 수 있습니까?여러 파일 필드가있는 장고 양식
답변
request.FILES.get('filename', None)
이 같은 양식 - 이름 필드의 존재에 응답 :
<input type="file" name="file1"></input>
<input type="file" name="file2"></input>
그런 request.FILES.get('file1', None)
및 request.FILES.get('file2', None)
각각 당신에게 그 파일을 제공해야합니다 :
<input type="file" name="filename"></input>
두 개의 같은 필드가 있다면.
이유는 멀티 파트 마임입니다. 세 부분 (양식 데이터, file1, file2)을 업로드해야하고 Django의 UploadFileHandler는 이것을 각각 request.POST
과 request.FILES
으로 나눕니다.
나는 파티에 늦었지만, 잠시 동안 이것을 알아 내려고 노력했으며 결국 해결책을 얻었습니다. 여기에 사용 된 코드를 살펴보십시오. https://code.djangoproject.com/ticket/12446
getlist를 사용하여 다중 부분 값에 액세스 할 수 있습니다. 내 HTML 양식 인 경우 :
for afile in request.FILES.getlist('myfiles'):
# do something with afile
이 제대로 나의 다음 단계는 처리 할 양식 필드/위젯을 작성 :
<form enctype="multipart/form-data" action="" method="post">
<input type="file" name="myfiles" multiple>
<input type="submit" name="upload" value="Upload">
</form>
내 장고 코드는 같을 것이다 처리합니다. 나는 여전히 장고를 처음 사용하기 때문에 처음에는 장고를 배우고있다.
어떻게 해? 예를 보여줄 수 있습니까? 아티스트 사용자가 동일한 형식으로 같은 시간에 여러 파일을 업로드하고 싶습니다. –
다음은이 답변의 좋은 링크입니다 : https://github.com/Chive/django-multiupload. 그러나 ModelForm을 사용하지 않아서 몇 가지 사항을 변경해야했습니다. 는보기에서 나는 디스크에 코드와 저장된 파일 아래에 작성했습니다 :이 방법처럼 그것을 할
for each in form.cleaned_data['attachments']:
handle_uploaded_file(each)
def uploadMyWork(request):
from .forms import UploadFileForm, handle_uploaded_file
print 'in uploadMyWork'
if request.method == 'GET':
print 'in uploadMyWork : GET'
form = UploadFileForm()
else:
form = UploadFileForm(request.POST, request.FILES)
print 'in uploadMyWork : POST'
#for each in form.cleaned_data['attachments']:
# handle_uploaded_file(each)
#return render(request, 'stitchme/uploadMyWork.html', {'msg': "file uploaded successfully"})
if form.is_valid():
print 'inside form valid'
for each in form.cleaned_data['attachments']:
handle_uploaded_file(each)
return render(request, 'stitchme/uploadMyWork.html', {'msg': "file uploaded successfully"})
print 'returning to uploadmywork'
return render(request, 'stitchme/uploadMyWork.html', {'form': form, 'msg':'hi'})
- 1. 그냥 부울 필드가있는 장고 양식
- 2. 공유 필드가있는 여러 양식
- 3. 공유 필드가있는 여러 양식
- 4. 여러 입력 필드가있는 양식 만들기
- 5. 장고 여러 페이지 양식
- 6. 프로필 필드가있는 등록 양식
- 7. 장고 양식
- 8. 장고 양식
- 9. javascript : 지정된 필드가있는 다중 양식
- 10. 양식 필드가있는 여러 페이지에 권장되는 .NET PDF 렌더러
- 11. 동일한 이름 속성을 가진 입력 필드가있는 여러 양식? 좋거나 나쁘거나?
- 12. 파일 필드가있는 노드 저장
- 13. 양식 제출시 여러 파일 다운로드
- 14. 장고 양식 유효성 검사
- 15. 장고 패키지 한 번에 여러 파일 패키지
- 16. Django - 여러 필드가있는 여러 페이지 관리
- 17. 여러 필드가있는 VBA - OrderBy에 액세스
- 18. 서재응을위한 여러 필드가있는 루비 on_param
- 19. 여러 필드가있는 검색 막대 CSS 및 정렬
- 20. 파일 제작자에서 IsEmpty 함수 사용 여러 필드가있는 Pro (v9) 계산
- 21. 장고 양식 리디렉션
- 22. 장고 아약스 양식, 의존성
- 23. 장고 양식 장고와
- 24. 장고 : 양식 ImageField()
- 25. 장고 양식 렌더링하지
- 26. 는 .... 장고 양식 필드
- 27. 장고 양식 작업
- 28. 여러보기에서 장고 양식
- 29. 장고 양식 마법사와 reCAPTCHA를
- 30. 장고 양식 위젯과 성능
을하지 작동합니다. 'newsform = NewsAddForm (request.POST 또는 None, request.FILES.get ('image_news1 ', None), request.FILES.get ('image_news2 ', None))' – Aryan