imageField를 사용하기 위해 Pillow 라이브러리 설치가 필요하다.
pip install Pillow pip freeze > requirements.txt
# 모델 이미지필드 설정 image = models.ImageField("사진", null=True, blank=True, upload_to='%Y/%m/') upload_to 설정은 media파일에 저장될 위치를 설정해준다. 해당 설정은 media폴더 내에 연도/월 폴더에 하위폴더로 저장된다. ++ blank 트루를 설정하거나 디폴트값을 줘야 배포시에 이미지 필드 디폴트값이 없다는 에러가 나지 않는다.
서버에서 미리 저장해서 사용하게 되는 static과 클라이언트가 업로드하게 되는 media를 설정 해준다
STATIC_URL = "static/" STATIC_ROOT = BASE_DIR / "static"
MEDIA_URL = "media/" MEDIA_ROOT = BASE_DIR / "media"
공식문서에서 확인할 수 있듯이 개발단계/테스트/배포시에 설정을 맞춰줘야한다.
개발단계에서는 다음과 같이 설정해준다. (디버그 모드가 True일때)from django.conf import settings from django.conf.urls.static import static
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)