static 파일
-다른 프레임워크에서도 비슷한 개념으로 쓰임
-개발 리소스로서의 정적인파일 (js,css,image ...) 개발자를 위한 파일
-앱 , 프로젝트단위로 저장 , 서빙
media 파일
-장고에만 존재
-File/Image Field 를 통해 저장한 모든파일
-DB 필드에는 저장경로를 저장하며 , 파일은 파일 스토리지에 저장
-프로젝트 단위로 저장 ,서빙
Medai 파일 처리순서
1. HttpRequest.FILES 를 통해 파일이 전달.
2. view or form 로직을 통해 , 유효성 검증을 수행
3. FIle/ Image Field 에 경로 를 저장
4. setting.py 에서 MEDIA_ROOT 경로에 파일을 저장
setting.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
여기까지하면 이미지는 저장이 된다 하지만 저장된 이미지를 클릭시 url 경로를 잡아주지않았기떄문에 404 가뜬다.
urls.py
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
파일 업로드
장고는 파일크기가
2.5MB 이하일 경우 메모리에 담는다 --MemoryFileUploadHandelr
2.5MB 이상일 초과 일경우 디스크에 담겨 전달 -- TemporaryFileUploadHandler
이는
setting.FILE_UPLOAD_MAX_MEMORY_SIZE
에서 확인할수있는데 디폴트로 2.5MB 로 설정되어있다!
'Python > Django' 카테고리의 다른 글
[Django] React -Django cors (0) | 2020.09.17 |
---|---|
[Django] django-debug-toolbar (0) | 2020.09.05 |
[Django] DRF 로그인, 회원가입 [미완] (0) | 2020.08.21 |
[Django] Django RestFramework (DRF) (0) | 2020.08.21 |
[Django] WSGI 란? (0) | 2020.08.11 |