반응형
Intro
지난 시간에 Django 개발환경 구축 및 프로젝트 생성 방법에 대해 알아봤습니다.
이번 시간에는 생성한 Django 프로젝트의 구성요소들에 대해 알아보겠습니다.
manage.py
프로젝트 루트에 있는 파일로, 터미널을 통해 서버 시작, 앱 생성 등 프로젝트를 관리를 도와주는 파이썬 스크립트입니다.
아래와 같은 방법으로 실행할 수 있습니다.
python manage.py COMMAND ARGS
manage.py의 대표적인 command는 아래와 같습니다.
- runserver: Django 개발 HTTP 서버를 시작하여 로컬 컴퓨터에서 Django APP을 제공
- startapp: 프로젝트에 새로운 Django APP 생성
- shell: 미리 로드된 Django 설정으로 Python 인터프리터 시작
- dbshell: DB에 연결된 대화형 쉘을 시작하여 수동으로 SQL 쿼리 진행
- makemigrations: models.py에 정의된 모델들을 통해 마이그레이션 파일 생성
- migrate: makemigrations 명령에 의해 생성된 마이그레이션 적용
- test: 자동화 테스트 실행
프로젝트 디렉터리
프로젝트 루트에 위치한 프로젝트 폴더로, 아래와 같은 파일들이 들어있습니다.
- __init__.py: 해당 디렉토리가 Python 모듈임을 나타내는 빈 파일
- settings.py: 프로젝트에 대한 웹 setting을 설정
- urls.py: URL과 View 사이를 매핑해주는 urlpatterns 리스트가 있는 파일
- wsgi.py: Web Server Gateway Interface의 약자로, Python 스크립트가 웹 서버와 통신하기 위한 인터페이스
- asgi.py: Asynchronous Server Gateway Interface의 약자로, WSGI의 상위호환이다. 요청을 비동기로 처리하며 WebSocket과 HTTP 2.0을 지원
Django APP
애플리케이션의 기능을 제공하는 Model, View, Template이 포함되며, Django 프로젝트에 최소 하나 이상의 APP이 있어야 합니다.
아래와 같은 파일들이 들어있습니다.
- __init__.py: 해당 디렉토리가 Python 모듈임을 나타내는 빈 파일
- admin.py: GUI로 데이터를 보고 편집할 수 있는 내장 관리 사이트
- apps.py: APP의 메타데이터에 관한 일부 구성 포함
- models.py: 애플리케이션 모델 정의
- migrations: 모델 변경 시 DB 변경사항 자동 기록, makemigrations로 생성된 파일이 저장됨
- tests.py: 코드가 올바르게 작동하는지 테스트
- views.py: Django View 정의
질문이나 개선사항은 언제든지 댓글로 남겨주세요.
이상으로 포스팅을 마치겠습니다.
반응형
'Study > Django' 카테고리의 다른 글
[Django] 6. Model 작성 및 마이그레이션 (0) | 2021.11.17 |
---|---|
[Django] 5. 템플릿 설정 및 렌더링 (0) | 2021.11.16 |
[Django] 4. URL GET 파라미터 값 획득하기 (0) | 2021.11.16 |
[Django] 3. View 작성 및 URL Mapping (0) | 2021.11.16 |
[Django] 1. 개발환경 구축 및 프로젝트 생성 (0) | 2021.11.16 |