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를 읽어보세요.
참조: 장고 공식 문서
장고의 대략적인 사이클은 아래 그림과 같다.
- Client : Client 에서 요청
- Web Server : 개발시에는 장고에 내장된 웹 서버를 이용(Nginx / Apche는 상용화시 사용)
- WSGI : Web Server와 Django Framework를 연결하기 위해 사용
- Request : 요청
- URL Resolution : url 파일에서 요청한 주소를 잘게 나눠준다. (== Parsing)
- VIEW : 잘게 나누어진 주소는 역할에 맞게 view로 이동, Web application에 각각 맞는 작업을 하기위한 작성한 코드가 있다. 요청받은 데이터를 저장하거나, 데이터베이스에서 꺼내오거나 등 역할에 맞는 기능을 개발
- Template : 디자인을 담당한다.
- Response : 요청에 대한 응답을 한다.
728x90
300x250