• Python with Django_ 장고 개발환경 (config, settings, wsgi.py)

    2021. 11. 11.

    by. KAEY


    config 폴더

    프로젝트 설정 파일과 웹 서비스 실행을 위한 파일들

    이 폴더 이름은 django-admin startproject 명령을 사용해 프로젝트를 만들 때 정해진 것이며 config라 는 이름을 사용할 필요는 없다. 

     

    예시용 사진

     

    __init__.py : 파이썬 2.x 대 버전과의 호환을 위해 만들어진 비어 있는 파일. 파이썬 3.x대에서는 불필요하지만 계속 생성 됨. 지워져도 프로젝트에 영향을 끼치진 않음.

     

    settings.py : 프로젝트 설정에 관한 다양한 내용이 있음. 

    urls.py :특정 기능을 수행하기 위해 접속하는 주소를 url이라 하고 이를 설정해 주는데 그 설정을 기록. 한 프로젝트 안에 여러 개의 urls 파일을 만들 것이며, config 폴더 안에 있는 urls 파일이 최초 기준 url 파일. 기준 url파일은 settings.py 에서 변경 가능. 

     

    wsgi.py : 웹 서비스를 실행하기 위한 wsgi 관련 내용이 있음. 특별히 변경할 일 거의 없음.

     

    db.sqlite3 SQLite3 DB파일. SQLite DB를 사용할 경우 임의로 삭제하거나 위치이동 금지. 다른 DB로 변경하는 경우 필요 없는 파일. 

     

    manage.py 장고의 다양한 명령어를 실행하기 위한 파일. 임의로 변경하지 않아야 함.

     

     

    config/settings.py

    settings.py 는 프로젝트에 관련된 다양한 설정이 모두 들어있음. 장고 기본 값으로 사용하게 됨. 

     

    BASE_DIR : 프로젝트 루트 폴더. 

    SECRET_KEY : 다양한 보안을 위해 사용

    DEBUG : 디버그 모드 설정. true일 경우 오류 메시지 확인 가능. 실제 배포 시에는 false로 변경

    ALLOWED_HOSTS : 현재 서비스의 호스트 설정. 배포 시 실제 도메인 기록 

    INSTALLED_APPS : 장고는 다양한 앱의 결합으로 만들어짐. 현재 프로젝트에서 사용하는 앱의 목록을 기록하고 관리. 

    MIDDLEWARE : 장고의 모든 요청/응답 메시지 사이에 실행되는 특수한 프레임워크들

    ROOT_URLCONF : 기준이 되는 urls.py 파일의 경로 설정 

    TEMPLATES : 장고에서 사용하는 템플릿 시스템 설정

    WSGI_APPLICATION : 실행을 위한 WSGI 어플리케이션 설정 

    DATABASE : DB설정 

    AUTH_PASSWORD_VALIDATORS : 비밀번호 검증 설정 

    LANGUAGE_CODE 등 : 이하 내용은 다국어에 관한 설정들

     

     

     

    config/wsgi.py

    웹서버와 장고 애플리케이션 사이에 통신 역할을 담당

    웹 서버 프로그램과 장고 웹 애플리케이션 사이에서 미들웨어처럼 동작하면서 웹 서버는 요청이 있을 경우 정보와 콜백함수를 WSGI(Web Server Gateway Interface)에 전달.

    그럼 이 정보를 해석하여 장고 웹 어플리케이션 전달.

    장고 웹 어플리케이션은 파이썬 스크립트를 이용해 정보를 처리하고 끝낸 결과를 WSGI에 다시 전달.

    그럼 이 정보를 콜백함수를 이용해 웹 서버에 다시 전달하는 방식으로 서버, WSGI, 장고 웹 어플리케이션이 상호작용하며 동작하게 됨.

     

    이를 위해 wsgi.py 파일을 이용해 어플리케이션 구동

     

     


     

    댓글 (비로그인 댓글 허용하지 않습니다.)