다이지고 부트캠프 4일차: Django 프로젝트 구조 설계
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- Django 초보 개발자 및 웹 개발 입문자
- 중간 난이도: 가상 환경 설정, 프로젝트 구조 분리, URL 라우팅 등 기초 개념 이해 필요
핵심 요약
- 프로젝트 생성:
django-admin startproject
명령어로dijango
프로젝트 생성 및 가상 환경(venv
) 설정 - 앱 분리:
REE1
과REE2
앱 생성 후INSTALLED_APPS
에 등록('REE1', 'REE2'
) - URL 구성: 앱별
urls.py
생성 후include()
함수로 메인urls.py
에 연결(path('ree1/', include('REE1.urls'))
)
섹션별 세부 요약
1. 프로젝트 생성 및 가상 환경 설정
mkdir dijango
,python -m venv venv
,source venv/bin/activate
명령어로 디렉토리 및 가상 환경 생성pip install django
로 Django 설치 후django-admin startproject dijango .
으로 프로젝트 생성manage.py
와dijango/
디렉토리(내부settings.py
,urls.py
포함) 생성
2. 앱 분리 및 등록
python manage.py startapp REE1
,python manage.py startapp REE2
로 앱 생성REE1/views.py
및REE2/views.py
에render()
함수 기반 기본 뷰 생성settings.py
의INSTALLED_APPS
에'REE1'
,'REE2'
추가
3. 템플릿 디렉토리 구성
templates/
디렉토리 생성 및templates/REE1/
,templates/REE2/
하위 폴더 생성settings.py
의TEMPLATES['DIRS']
에BASE_DIR / 'templates'
경로 추가
4. URL 라우팅 설정
REE1/urls.py
및REE2/urls.py
생성 후path('', views.index, name='ree1_index')
등 라우팅 정의- 메인
urls.py
에path('ree1/', include('REE1.urls'))
,path('ree2/', include('REE2.urls'))
포함
5. 템플릿 파일 작성
templates/REE1/index.html
,templates/REE2/home.html
에 기본 HTML 구조 작성
결론
- 실무 팁: Git Bash를 사용해 명령어 실행 시 디렉토리 이동 및 파일 생성이 용이함
- 구조 설계 원칙: 앱별 기능 분리(
INSTALLED_APPS
등록)와 URL 라우팅(include()
사용)을 통해 확장성과 유지보수성 향상 - 예제:
REE1/views.py
에서render(request, 'REE1/index.html')
로 템플릿 연결,REE1/urls.py
에서path('', views.index, name='ree1_index')
정의