Python/Django

[Django] Django(장고) 프로젝트

  • -
728x90

기본적인 환경을 설정하고, 장고 프로젝트를 생성하게되면 생기는 파일들을 알아보면,

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

위와 같은 구조로 되어있다.  

이 파일들은,   

  • mysite/루트 디렉토리는 프로젝트의 컨테이너입니다.
  • manage.py: Django 프로젝트와 다양한 방법으로 상호작용 하는 커맨드라인의 유틸리티 입니다. manage.py 에 대한 자세한 정보는 django-admin and manage.py 에서 확인할 수 있습니다.
  • mysite/ 디렉토리 내부에는 프로젝트를 위한 실제 Python 패키지들이 저장됩니다. 이 디렉토리 내의 이름을 이용하여, (mysite.urls 와 같은 식으로) 프로젝트의 어디서나 Python 패키지들을 임포트할 수 있습니다.
  • mysite/__init__.py: Python으로 하여금 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 단순한 빈 파일입니다. Python 초심자라면, Python 공식 홈페이지의 패키지를 읽어보세요.
  • mysite/settings.py: 현재 Django 프로젝트의 환경 및 구성을 저장합니다. Django settings에서 환경 설정이 어떻게 동작하는지 확인할 수 있습니다.
  • mysite/urls.py: 현재 Django project 의 URL 선언을 저장합니다. Django 로 작성된 사이트의 "목차" 라고 할 수 있습니다. URL dispatcher 에서 URL 에 대한 자세한 내용을 읽어보세요.
  • mysite/asgi.py: ASGI 호환 웹 서버가 프로젝트를 제공하기위한 진입 점입니다. 자세한 내용ASGI 를 사용 하여 배포하는 방법 참조 하십시오.
  • mysite/wsgi.py: 현재 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점입니다. How to deploy with WSGI를 읽어보세요.
참조: 장고 공식 문서

장고의 대략적인 사이클은 아래 그림과 같다.  

  

  1. Client : Client 에서 요청
  2. Web Server : 개발시에는 장고에 내장된 웹 서버를 이용(Nginx / Apche는 상용화시 사용)
  3. WSGI : Web Server와 Django Framework를 연결하기 위해 사용  
  4. Request : 요청
  5. URL Resolution : url 파일에서 요청한 주소를 잘게 나눠준다.  (== Parsing)
  6. VIEW : 잘게 나누어진 주소는 역할에 맞게 view로 이동, Web application에 각각 맞는 작업을 하기위한 작성한 코드가 있다.  요청받은 데이터를 저장하거나, 데이터베이스에서 꺼내오거나 등 역할에 맞는 기능을 개발
  7. Template : 디자인을 담당한다.
  8. Response : 요청에 대한 응답을 한다.
728x90
300x250
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.