3️⃣ Static 파일 처리 문제와 해결
📌 STATIC_URL과 STATIC_ROOT 개념
- STATIC_URL: 브라우저에서 정적 파일(예: CSS, JS) 접근 시 사용하는 URL 경로, 보통 /static/
- STATIC_ROOT: collectstatic 명령어 실행 시 모든 정적 파일이 모여서 저장되는 서버 내 디렉터리 경로
📌 BASE_DIR 경로 문제 및 수정법
- BASE_DIR은 프로젝트 최상위 경로를 정확히 가리켜야 함
- base.py에서 BASE_DIR = Path(__file__).resolve().parent.parent.parent 처럼 3단계 상위 경로 지정
- STATIC_ROOT = BASE_DIR / 'staticfiles' 설정으로 정적파일 모을 위치 지정
📌 collectstatic 실행법과 Docker 적용
- Docker 컨테이너 안에서 다음 명령어로 정적파일 수집
python manage.py collectstatic --noinput
- 수집된 정적파일은 STATIC_ROOT 경로에 저장됨
- 이후 Nginx 등 웹서버가 해당 경로를 서빙하도록 설정
📌 초기 문제와 해결 과정
- STATIC_ROOT가 잘못 지정되어 /app/config/staticfiles에 쌓이는 문제 발생
- BASE_DIR 경로를 한 단계 더 상위로 조정하여 /app/staticfiles가 되도록 수정
- 컨테이너 클린 빌드 후 collectstatic 재실행으로 정상 경로에 정적파일 배치
📌 실무 팁
- STATIC_URL은 항상 절대경로(/static/)로 설정
- context_processors에 django.template.context_processors.static 반드시 포함
- Docker 환경에 맞게 경로와 환경 변수 꼼꼼히 확인
'프로젝트' 카테고리의 다른 글
5️⃣ 운영과 개발 환경 구분 및 배포 준비 (0) | 2025.06.06 |
---|---|
4️⃣ Django 템플릿과 정적파일 연동 (0) | 2025.06.06 |
2️⃣ 환경 변수 및 설정 관리 (0) | 2025.06.06 |
1️⃣ 프로젝트 개요 및 초기 세팅 문제 (0) | 2025.06.06 |
Chapter 2-9 Django ORM 미니 프로젝트 실습: 북마크 대량 생성과 조건 필터링 (0) | 2025.04.30 |