Docker /admin 해결

2025. 6. 14. 01:46·프로젝트

빠른 임시 해결: --insecure 플래그

가장 손쉽게 확인해 보고 싶다면, docker-compose.yml 의 커맨드를 이렇게 바꿔 보세요:

services:
  my-django:
    # ...
    command: >
      sh -c "python manage.py migrate \
             && python manage.py runserver --insecure 0.0.0.0:8000"
  • --insecure 옵션을 주면 DEBUG=False 상황에서도 runserver가 /static/ URL을 임시로 띄워 줍니다.
  • 재시작 후 localhost:8000/admin/ 에서 CSS가 정상 로드되는지 확인하세요.

근본 해결: WhiteNoise + collectstatic

실서비스에서도 쓰려면 정적파일을 모아서 서빙해 줄 서버(또는 미들웨어)가 필요합니다. Django 진영에선 WhiteNoise 를 많이 씁니다.

  1. 의존성 추가
pip install whitenoise
  1. config/settings/prod.py 에 설정 추가
from .base import *

DEBUG = False
ALLOWED_HOSTS = ["*"]  # 또는 실제 도메인

# 1) runserver_nostatic → runserver에서도 WhiteNoise가 static을 처리하게 함
INSTALLED_APPS.insert(0, "whitenoise.runserver_nostatic")

# 2) WhiteNoise 미들웨어를 제일 위에
MIDDLEWARE.insert(0, "whitenoise.middleware.WhiteNoiseMiddleware")

# 3) collectstatic 후 WhiteNoise가 압축 파일도 제공하도록
STATIC_ROOT = BASE_DIR / "staticfiles"
STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
  1. Docker Compose 커맨드 갱신
services:
  my-django:
    # ...
    command: >
      sh -c "python manage.py collectstatic --noinput \
             && python manage.py migrate \
             && python manage.py runserver 0.0.0.0:8000"
  1. 재빌드 & 재실행

 

docker compose down
docker compose up -d --build
  1. 검증
    • docker compose logs -f my-django 에서 collectstatic 로그가 보이고
    • http://localhost:8000/admin/ 에 들어가면 CSS/JS가 정상 로드됩니다.

요약

  • 임시 확인: runserver --insecure
  • 권장: WhiteNoise 설치 → collectstatic → 미들웨어 설정

이 중 하나를 적용하시면, Docker 환경에서도 Admin 페이지가 깨지지 않고 정상적으로 스타일이 입혀질 거예요.

'프로젝트' 카테고리의 다른 글

AWS EC2 인스턴스접속  (0) 2025.06.14
AWS ec2 생성시 my-key 페어 삭제방법  (0) 2025.06.14
📌 3. Django 백엔드 카카오 OAuth 최종코드  (0) 2025.06.13
📌 3. Django 백엔드에 카카오 콜백 구현  (0) 2025.06.13
📌 2. Django 백엔드에 카카오 OAuth 연동 시작  (0) 2025.06.13
'프로젝트' 카테고리의 다른 글
  • AWS EC2 인스턴스접속
  • AWS ec2 생성시 my-key 페어 삭제방법
  • 📌 3. Django 백엔드 카카오 OAuth 최종코드
  • 📌 3. Django 백엔드에 카카오 콜백 구현
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (787)
      • Python (32)
      • 프로젝트 (110)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (153)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    livebroadcast
    lawsuitculture
    titaniumcase
    bts
    basalcellcarcinoma
    classaction
    life reflection
    remittance
    college reunions
    btsreunion
    RM
    hotcoffeecase
    urbantrends
    homebartrend
    global politics
    self-growth
    chatgpterror
    smartphonedurability
    newpoliticalparty
    btsjungkook
    뷔
    youngprofessionals
    americaparty
    btscomeback
    btsdischarge
    americanlaw
    travel ban
    gpterror
    trumpmuskclash
    chinanightlife
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Docker /admin 해결
상단으로

티스토리툴바