Joonas' Note

Joonas' Note

Django DEBUG=True와 False 차이점 본문

개발/python

Django DEBUG=True와 False 차이점

2018. 5. 19. 03:01 joonas

    Django에서 Summernote Widget을 사용하고 있는데 production 모드 즉, DEBUG=False 인 상태에서 이미지 업로드가 갑자기 안됐다.

    삽질을 한참 하다가 결론은 Debug -> Production 모드 시 static 파일들과 media 파일들의 제공 방식이 달라진다는 것이다.
    디버그 모드에서는 django에서 해주는 것 같지만, 배포 모드에서는 웹 서버로 관리를 넘겨버리는 것 같다. 다시 말해, Nginx나 Apache에서 /static과 /media 경로와 연결되는 디렉토리를 지정해주어야 한다.

    http://uwsgi-docs.readthedocs.io/...#configure-nginx-for-your-site을 읽어보면, location /static에 alias가 걸려있는 것을 볼 수 있다.

    그리고 Django의 settings.py 또는 local_settings.py에서 반드시 ALLOWED_HOSTS를 설정해주어야 한다.

    요약

    1. DEBUG=True이면, ALLOWED_HOST는 필요없다.
    2. DEBUG=False이면, ALLOWED_HOST를 반드시 설정해주어야 하고 /static과 /media의 디렉토리를 웹 서버(Nginx, Apache 등)에서 설정해주어야 한다.

    참고: https://stackoverflow.com/...debug-true-and-false-in-django

    Comments