[django]request.body size limit error

Hyeseong·2021년 8월 13일
1

django

목록 보기
35/35

오류 :

request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE

  • base64로 인코딩한 데이터를 requests객체의 post메서드에 담아 보내니 아래와 같은 오류가 나타났습니다.

바로 구느님에게 달려가 검색해보니 아래와 같이 설정하면 된다는 사실을 확인했습니다.
링크

settings.py 파일에 명시된 코드들만 그대로 복붙하니 정상 작동였습니다.

분석 :

FILE_UPLOAD_HANDLERS = [
    'django.core.files.uploadhandler.MemoryFileUploadHandler',
    'django.core.files.uploadhandler.TemporaryFileUploadHandler',
]


MAX_UPLOAD_SIZE = 5242880
DATA_UPLOAD_MAX_MEMORY_SIZE = None
FILE_UPLOAD_MAX_MEMORY_SIZE = 5242880
DATA_UPLOAD_MAX_NUMBER_FIELDS = None

  • FILE_UPLOAD_HANDLERS :

    - django.core.files.uploadhandler.MemoryFileUploadHandler: 
    • 공식문서 :
      메모리나 디스크에서 파일을 업로드하여 읽어서 수행되는 동작들을 정의
      별도로 커스텀으로 작성도 가능합니다.

    • 2.5메가 이하의 파일의 경우 장고에서는 전체를 메모리에 올려버립니다. 다른의미로 메모리에서 읽고 디스크에 쓰는 행동이므로 상대적으로 빠릅니다.

    • 만약 파일 용량이 default값보다 클 경우 임시 디렉토리에 저장합니다.

장고에서 파일 업로드시 최대 크기 제한 범위
- Question : 1기가, 1테라, 무제한도 가능할까?

csrf_exempt처리

결론:
1) 왠만하면 파일용량 처리를 크게 크게 해주자~
2) 속도가 정말 중요하고 작은 단위라고 확신이 든다면 그냥 기본값(2.5메가로 두든지)

profile
어제보다 오늘 그리고 오늘 보다 내일...

1개의 댓글

comment-user-thumbnail
2021년 8월 17일

혜성님 잘 지내시나요~?! 오랜만에 들러봅니다 ㅎㅎ 항상 응원하고 있습니다 💪

답글 달기