Python/Django

[Django] Static , Media

 

 

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