MTV
MVC(Model-View-Controller) 패턴과 거의 동일
MVC의 View 👉 MTV의 Template
MVC의 Controller 👉 MTV의 View
Django 구조
출처 : https://dahye-jeong.gitbook.io/django/basic/2019-03-06-app
-
base/manage.py 장고 명령어 처리
- startapp : 앱 생성
- runserver : 서버 실행
- createsuperuser : 관리자 생성
- makemigrations/migrate app : app 모델 변경 사항 체크, 변경 사항 DB에 반영
- shell : shell을 통해 데이터 확인
- collectstatic : static 파일을 한 곳에 모음
-
project/setting.py 프로젝트 환경 설정 파일
- DEBUG : 디버그 설정
- INSTALLED_APPS : pip으로 설치한 앱 또는 본인이 만든 app 추가
- MIDDLEWARE_CLASSES : request와 response 사이의 주요 기능 layer
- TEMPLATES : django template 관련 설정, 실제 view(html, 변수)
- DATABASES : 데이터베이스 엔진 설정
- STATIC_URL : 정적 파일의 URL(css, js, img, etc)
-
project/wsgi.py 웹서버와 장고를 적절히 결합시킴(크게 건드릴 일 X)
-
app/models.py DB 연동
-
app/views.py Controller 역할
-
app/serializers.py
- DRF(Django Rest Framework)의 대표 기능
- 장고에서 직렬화는 queryset 이나 model instance와 같은 복잡한 구조의 데이터를 JSON, XML 형태로 변환하는 역할
- Python 환경에 적합한 구조로 재구성할 수 있는 포맷으로 변환
- 유효성 검사도 함께 진행
- 기본 앱 구성에 포함 X 👉 별도로 생성
-
urls.py wsgi.py에서 신호가 들어오면 가장 먼저 받는 곳, 정규표현식으로 구현되어 있음
-
__init__.py 파이썬 패키지로 인식