작성
·
97
1
gunicorn을 사용하면 nginx의 사용으로 static 제공이 되지 않으면 css, js가 다운로드 되지 않는 것으로 알고 있습니다.
저장소의 celery 폴더에도 runserver를 사용하셨던데
이 설명이 강의 초반부터 지금까지 못본것 같습니다.
실습에 admin 페이지가 다 깨져 나오기 때문에
모르는 다른 학습자 분들이 있다면 큰 어려움이 있을것 같습니다.
직접 테스트 해보니 gunicorn 실행에는 admin이 다 깨져서 나오고 runserver로 실행하면 admin이 제대로 나오는 것을 확인하였습니다.
docker-compose의 app 항목 추가 :
command: > sh -c " python manage.py makemigrations && python manage.py migrate && gunicorn -b 0.0.0.0:8000 app.wsgi "
답변 2
0
안녕하세요 bluebamus님,
우선 불편하게 해드려 죄송합니다. 일단 이 강의는 Celery를 어떻게 사용하는지에 대해 강의를 하고 있고, 제 Django 강의에서 스핀오프해서 Celery에 중점적으로 다루다 보니, 그 부분은 언급하지 않은 듯 합니다.
Static 관련 부분은 제가 장고를 강의했을 때 했던 부분이지만, Celery의 커리큘럼과는 맞지 않아 넣지 않았습니다.
https://github.com/dimz119/learn-python-django/blob/main/mysite/mysite/settings.py#L119-L122 이 부분의 코드를 확인해 보시면 도움이 될 것 같습니다.
아니면 예를 들어 이런 식으로 하시는 것도 도움이 되실 겁니다.
# settings.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
# gunicorn 실행 부분
gunicorn -b 0.0.0.0:8000 app.wsgi:application
# nginx.conf
worker_processes 1;
events { worker_connections 1024; }
http {
server {
listen 8000;
location / {
proxy_pass http://app:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# static 지정 부분
location /static/ {
alias /app/static/;
}
}
}
저는 현재 gunicorn으로 프로젝트를 만들어 사용하고 있기에 해당 부분을 알고 있습니다.
강의를 따라가다가 beat 학습차에서 admin이 깨져 나오는 현상을 발견하게 되다보니
해당 현상을 해결하기 위해 헤맬 수 있는 학습자들이 있을 수 있을거라 생각되어 글을 남기게 되었습니다.
이러한 부분이 강좌에 없다보니, 아는 사람들은 어떻게든 조치를 빠르게 취하겠지만, 익숙치 않은 학습자들은 그래도 꽤 오랜 시간을 허비할 수 있지 않을까 싶어서요 ^^