Django 1개의 프로젝트에 1개의 APP의 형태의 프로젝트 구조이다.
모듈(.py) 별 기능
- settings.py : django 프로젝트 config 설정 파일. DB, App (Module), Auth, Templates, Path 등 기본 설정 담당
- urls.py : url 별 페이지 연동 관리 파일 (유사 route를 담당하는 파일)
- asgi.py, wsgi.py
- Web Server Gateway Interface로 서버와 응용 프로그램이 통신하는 인터페이스.
- 클라이언트로 요청 수신 → 애플리케이션으로 전달 , 애플리케이션 응답 → 클라이언트로 보내는 역할 수행 - admin.py : 관리자 role로 model 을 관리하는 역할
- apps.py : 앱에 대한 기본 설정
- models.py : DB 모델 (ORM)에 대한 정보 정의 및 저장하는 파일
- views.py
- 실제 비즈니스 로직이 동작하게 하는 부분.
- 사용자에게 어떤 Response를 줄 것인지가 구현 되어야 함. - test.py : 단위 테스트(Test code 작성) 구현
- manage.py : Django Web 서버 실행 및 사이트 관리
Structure
Project // project root
├── project_name (config) // configuration root
│ ├── settings.py // Project Setting Config
│ ├── urls.py // Gather All Urls
│ └── asgi.py, wsgi.py // Sync, Async
│
├── app1/ // App name
│ ├── admin.py // App Admin roles
│ ├── apps.py // APP config
│ ├── urls.py // APP URL Endpoints
│ ├── models.py // DB ORM Modeling
│ ├── views.py // App Controls Function
│ ├── tests.py // App test code
│ ├── migrations/ // DB File
│ └── ...
│
├── templates/ // Web Page
│ └── <app_name> // APP Folder
│ ├── <page>.html // HTML
│ └── ...
│
│── static/ // static Files
│ ├── css/ // CSS
│ └── js/ // Javascript
│
└── manage.py // server manager
'Python > Django' 카테고리의 다른 글
[Django] Django 명령어 설명 (0) | 2022.05.30 |
---|---|
[Django] 무식한 라이브러리 분해 1 (django.db) (0) | 2022.05.30 |
[Django] MTV 패턴과 동작 Flow (0) | 2022.05.27 |
[Django] Admin 기능 (ORM 컨트롤) (0) | 2022.05.26 |
[Django ] VS Code 에서 Django templates Path 인식 못할 때 (0) | 2022.05.26 |