안녕하세요. 매일 간접적(?)으로 도움만 받다가 이번에는 염치없이 직접 도움을 요청드려요;

 
Yun Heo

안녕하세요.
매일 간접적(?)으로 도움만 받다가 이번에는 염치없이 직접 도움을 요청드려요;;

장고로 웹페이지 만든 후 Azure 서버에 올려서 작업하고 있는데요.
Admin UI에 적용되던 static 파일이 적용이 안돼서, collectstatic명령어로 필요한 static 파일을 지정한 폴더(제 App이 있는 최상위 폴더입니다.)에 복사를 했습니다.
그런데 Debug 옵션이 True일때는 읽어오는데, False로 하면 읽어오질 못하더라구요. 개발의 편의성을 위해서 Debug모드일 때는 알아서 Static파일을 찾아주는 걸로 알고 있는데, 아무래도 웹 서버에 올려서 서비스 돌릴 때는 False로 해서 운영해야 할 텐데(settings.py 코드에 그렇게 써있더라구요;;)…static 파일과 더불어 media 파일들을 읽어올 방법을 모르겠더라구요.

혹시 Debug모드 사용 안할 때, 서비스 할 수 있는 방법이 잘 설명된 페이지나 문서가 있으면 공유해주실 수 있을까요??

특별한건 없지만 코드가 궁금하시면
https://github.com/fromleaf/fromleaf.mypage
여기서 보실 수 있습니다.

  • 박정수

    대개 Django 프로젝트를 실서버에 배포해서 사용할 때는, wsgi container와 web server를 분리해서 사용하지요. 제가 추측하기로는 wsgi container만 사용하시고 (혹은 manage.py runserver를 사용하시거나) web server는 사용 안하시는건 아닌지 싶은데, 맞나요?

    collectstatic을 해서 파일들이 모아진 디렉토리를 web server가 직접 응답하도록 설정해주시면 됩니다.

    구글에서 nginx uwsgi나 nginx gunicorn 등을 검색해보시면 관련된 문서들이 나올 것 같네요.

    Chinseok Lee

    azure webapp 을 쓰고 계시다면, 윈도우에서 IIS 기반으로 동작합니다. 배포 시에 deploy.cmd 을 통해 collectstatic 동작을 시킬 수 있습니다.

    제가 만들어둔 azure webapp django 템플릿을 참고해보시구요.
    https://github.com/askdjango/django-azurewebapp-template

    제 발표 동영상도 있으니 같이 참고해보세요.

    Chinseok Lee

    static 부분만 요약하자면, 아래 두 설정의 이름 (여기에서는 static) 이름을 맞춰주시구요. collectstatic 후에 해당 web.config 파일에서 static url rule 을 추가해주시면 됩니다.
    settings.STATIC_URL = “/static/”
    settings.STATIC_ROOT = os.path.join(BASE_DIR, “static”)

    Yun Heo

    감사합니다 영상 잘보고 따라해봐야겠네요.

Advertisements