AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

다이지고 부트캠프 4일차: Django 프로젝트 구조 설계

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  • Django 초보 개발자 및 웹 개발 입문자
  • 중간 난이도: 가상 환경 설정, 프로젝트 구조 분리, URL 라우팅 등 기초 개념 이해 필요

핵심 요약

  • 프로젝트 생성: django-admin startproject 명령어로 dijango 프로젝트 생성 및 가상 환경(venv) 설정
  • 앱 분리: REE1REE2 앱 생성 후 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.pydijango/ 디렉토리(내부 settings.py, urls.py 포함) 생성

2. 앱 분리 및 등록

  • python manage.py startapp REE1, python manage.py startapp REE2로 앱 생성
  • REE1/views.pyREE2/views.pyrender() 함수 기반 기본 뷰 생성
  • settings.pyINSTALLED_APPS'REE1', 'REE2' 추가

3. 템플릿 디렉토리 구성

  • templates/ 디렉토리 생성 및 templates/REE1/, templates/REE2/ 하위 폴더 생성
  • settings.pyTEMPLATES['DIRS']BASE_DIR / 'templates' 경로 추가

4. URL 라우팅 설정

  • REE1/urls.pyREE2/urls.py 생성 후 path('', views.index, name='ree1_index') 등 라우팅 정의
  • 메인 urls.pypath('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') 정의