
하나의 Django 프로젝트 = 하나의 서비스 = 하나의 웹사이트
| 단계 | 설명 |
|---|---|
| 파이썬 설치 | 링크를 통해 파이썬을 설치함. |
| 가상환경 설정 (venv) | python -m venv myenv 명령어로 가상환경을 설정함. |
| 가상환경 활성화 | source myenv/bin/activate (Linux/Mac) 또는 venv\Scripts\activate (Windows) 명령어로 가상환경을 활성화함. |
| Django 라이브러리 설치 | pip install django==4.2 명령어로 Django 라이브러리를 설치함. LTS 버전은 오랜 기간 지원됨. |
| requirements.txt 에 프리즈 | pip freeze > requirements.txt 명령어로 현재 가상환경의 모든 패키지 의존성을 requirements.txt 파일에 저장함. |
| requirements.txt 에서 불러오기 | pip install -r requirements.txt 명령어로 requirements.txt 파일에 명시된 모든 패키지를 설치함. |
| 의존성 패키지 설치 | Django를 보조하는 다른 패키지들도 모두 설치됨. |
- <생성 디렉토리> 에 <프로젝트 이름> 으로 새 Django 프로젝트 생성
django-admin startproject <프로젝트 이름> <생성 디렉토리>- 현재 디렉토리에 프로젝트 생성
django-admin startproject <프로젝트 이름>
- 해당 프로젝트를 선택
cd <프로젝트 이름>- 개발 서버 실행
python manage.py runserver
앱 = Django 프로젝트에서 쓸 수 있는 기능집합체. 각각 기능의 단위 모듈.
- 앱 생성 코드
python manage.py startapp <앱 이름>
settings.py파일 확인.INSTALLED_APPS에 <앱 이름> 추가.INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', '<앱 이름>', ]
<프로젝트 이름>/
<프로젝트 이름>/
__init__.py
asgi.py
settings.py
urls.py
wsgi.py
manage.py
<앱 이름>/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
| 파일 | 설명 |
|---|---|
__init__.py | 해당 디렉토리를 Python 패키지로 인식하게 함. |
asgi.py | Django의 ASGI 설정 파일. 비동기 서버와 통신할 때 사용됨. |
settings.py | 데이터베이스, 앱 설정 등 프로젝트의 설정을 관리함. |
urls.py | URL과 뷰를 연결하는 라우팅 설정 파일로, 어떤 요청을 처리할지 결정함. |
wsgi.py | Django의 WSGI 설정 파일. 서버 통신과 배포에 사용됨. |
manage.py | Django 유틸리티. 프로젝트와 상호작용하는 명령 도구. |
admin.py | Django 관리자 사이트에서 모델을 관리하기 위한 설정 파일. |
apps.py | 앱의 설정 클래스가 포함된 파일. 앱의 메타데이터를 정의함. |
models.py | 데이터베이스 모델을 정의하는 파일. 데이터베이스 테이블 구조를 결정. |
tests.py | 유닛 테스트를 작성하는 파일. 앱의 기능을 검증하기 위한 테스트 코드를 포함. |
views.py | 웹 요청을 처리하고 응답을 반환하는 뷰 함수/클래스를 정의하는 파일. |