Q&A
책을 따라하다가 막히는 부분이 있나요?
질문을 남겨주세요.
이 페이지는 의견 교환을 위해 따로 만든 페이지입니다. 책에서 이 페이지를 만드는 법을 직접적으로 다루지는 않습니다.
하지만, 책을 끝까지 읽고 나면 이 페이지도 만드실 수 있을거에요.
하지만, 책을 끝까지 읽고 나면 이 페이지도 만드실 수 있을거에요.
nginx에서 static 폴더를 사용할때 질문드립니다.
3 years, 5 months ago
why책에서는 빌드를 하고 나면 바로 static 폴더의 css파일과 이미지 사진이 적용이 되는데
이상하게 저는 빌드해도 적용이 안되네요.
docker-compose down -v로 전체를 삭제하고
docker-compose up -d로 적용하면 적용됩니다.
유지보수를 하면서 계속 데이터베이스까지 초기화하면서 할 수가 없어서 질문드립니다.ㅜㅜ
목록보기
sungyong 3 years, 5 months ago
맞습니다.
docker-compose exec web python manage.py collectstatic
을 실행하면 될지도 모릅니다.
Updated: June 17, 2021, 8:49 p.m.
taegon 3 years, 5 months ago
안녕하세요.
장고를 웹서버로 써서 테스트로 돌릴 때는 앱 폴더 아래에 있는 static 파일들이 접근이 되지만, 배포모드로 바꾸고 나면, static 파일을 따로 모아서 서비스하게 되죠.
docker-compose.yml에 정의하였듯이 /usr/src/app/_static 폴더는 nginx를 통해서 접근하기 때문에, 그 폴더 안에 파일이 있으면, 장고와 상관없이 웹으로 확인할 수 있습니다.
하지만 업로드한 파일이 보이지 않는 이유는 _static 폴더가 아닌 앱 폴더 아래에 있기 때문입니다. 이때 "python manage.py collectstatic"를 실행하시면, 앱 폴더에 있는 파일들을 모아서 _static 폴더 아래로 복사해줍니다.
이러한 작업과정이 다소 번거롭게 느껴지실 수 있는데, 배포과정에서 동일한 서버가 아닌 제3의 서버나 AWS S3버킷, CDN 같은 서비스를 이용한다고 가정할 때, collectstatic으로 이러한 배포과정이 동일하게 사용할 수 있습니다.
고맙습니다.
Updated: June 16, 2021, 1:41 p.m.
Leave a Comment: