그러고 나서 설정해주어야 하는게 몇개 있다.
일단 DJANGO_SETTINGS_MODULE를 devlopment, production으로 두개를 나누었다는 전제하에 설명을 진행하겠다.
그리고 production상태에서만 static file이 S3에 upload되게 하겠다.
wsgi.py파일이 있는 경로에 storage.py 만들기
기존 production.py에 몇가지 설정 추가하기
storage.py파일 만들기
storage.py에 위와 같이 추가해준다.
production.py에 추가 할 것들
공식문서에 usage부분을 보면 일단 DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'를 설정하라고 한다.
그 다음에 AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_STORAGE_BUCKET_NAME도 같이 설정해준다.
여기서 ACCESS_KEY, SECRET_ACCESS_KEY는 AWS에서 권장하기를 S3에 접근할 수 있는 I AM계정을 하나 만들어서 진행하는걸 추천한다.
root계정의 ACCESS_KEY, SECRET_ACCESS_KEY를 사용하지 말자.
그리고 우리는 CloudFront를 사용할것이기 때문에 AWS_S3_CUSTOM_DOMAIN, AWS_S3_CUSTOM_DOMAIN도 같이 추가 해준다.
최종적으로 production.py에 담겨야 하는 내용은 아래와 같다.
여기까지 했다면 다 설정을 한것이다.
실제로 작동 해보기
[django path]/manage.py collectstatic --setings="appname.settings.production"를 하면 S3로 업로드가 잘 작동할것이다.