개발 리소스로서의 정적인 파일 (js,css,image등)
앱/프로젝트 단위로 저장/서빙
FiledField/ImageField 를 통해 저장한 모들 파일 → Model을 통해서 관리하는 방법
DB 필드에는 저장경로를 저장하며, 파일은 파일 스토리지에 저장 → File Storage API
실제로 문자열을 저장하는 필드(중요)
프로젝트 단위로 저장/서빙
Mac M1을 사용하는중인데 Pillow를 설치하고, ImageField를 사용하려고 하면 다음과 같은 오류가 뜬다.
가상환경을 새로 만들어보고, python interpreter를 3.7, 3.9등으로 바꿔보고, Pillow도 다양한 버전을 설치해봤는데도 똑같은 오류가 뜬다.
검색해보니 이런 오류가 뜨는 사람들이 꽤 있는 것 같은데 나중에 알아봐야 할 것 같다.
instagram.Post.photo: (fields.E210) Cannot use ImageField because Pillow is not installed.
HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "python -m pip install Pillow".
MEDIA_URL: 미디어의 URL
MEDIA_ROOT: 미디어가 실제 저장되는 경로

해당 파일 최상단에 보면 BASE_DIR을 확인 가능

**file: 파이썬 파일 import 될 떄의 경로를 담고 있음**
**file.parent.parent: 해당 파일의 부모의 부모 경로이니 프로젝트 디렉토리를 의미**
admin페이지에서 이미지를 올리고, url을 클릭해서 들어가도 이미지가 안 뜨고 page not loaded가 뜸
urlpatterns에서 static 경로를 추가해주어야 함
장고는 실제 production 상태에서는 장고내에서 static이나 media file serving을 하는것을 권장하지는 않음 (그래서 Debug=False 일때는 아래 경로가 빈 리스트를 반환함 )

blank:
upload_to
문자열로 지정하면 ‘중간 디렉토리 경로’
함수로 지정하면 ‘중간 디렉토리 경로' 및 ‘파일명’

#from 프로젝트폴더 import settings가 아니라 django.conf에서
#import를 해야 global_settings와 settings를 합쳐줌
from django.conf import settings
파일크기 ≤ 2.5MB
파일크기 > 2.5MB
관련 설정
settings.File_UPLOAD_MAX_MEMORY_SIZE