Django에서 WhiteNoise 사용하기
4월 21, 2017 zeallat
상황
AWS Elastic Beanstalk에 배포한 내 Django앱에서 CSS, js파일들이 404에러를 뱉어냈다. 해당 경로에서 파일들을 찾지 못했다는 의미였다.
collectstatic을 수행하지 않았는지를 생각해봐도 아니였다.
원인
배포시점부터는 static파일들을 직접 관리해주어야한다고 한다. 개발시점에서는 DEBUG=TRUE인경우 django가 static파일들을 알아서 관리해주지만, 배포할때에는 따로 경로를 만들고 해당경로에 static파일들이 위치하도록 해야한다는거다.
http://stackoverflow.com/questions/5836674/why-does-debug-false-setting-make-my-django-static-files-access-fail?rq=1
해결
WhiteNoise를 설치해 해결했다. WhiteNoise는 static파일들을 collectstatics 명령수행시 지정경로에 파일들을 모아주는 역할을 한다.
http://whitenoise.evans.io/en/stable/django.html
pip install whitenoise
settings.py
STATIC_URL = '/staticfiles/'
STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
'Sundry > Python' 카테고리의 다른 글
json encode decode 예제 (0) | 2018.12.14 |
---|---|
django-widget-tweaks (0) | 2018.12.03 |
How to Render Django Form Manually (0) | 2018.12.02 |
월 - 월 계산하기 (0) | 2018.11.12 |
bdist_wheel error (0) | 2018.11.12 |