Building Spokane Tech: Django Project Structure Part 2
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

스포캔 기술 구축: 제2부

카테고리

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

서브카테고리

웹 개발

대상자

  • Django 프로젝트Docker 기반 배포를 수행하는 개발자
  • 프로젝트 구조 정리테스트 관리에 관심 있는 중간 이상 개발자

핵심 요약

  • src 디렉토리Django 프로젝트(django_project), Docker 구성 파일(docker/), 환경 변수 파일(envs/)을 담고 있음
  • tests/ 디렉토리unit, integration, regression테스트 범주별 구조화로 테스트 실행 범위를 명확히 함
  • pyproject.toml 파일은 의존성 관리tool 설정을 통합하여 추가 파일 생성을 최소화

섹션별 세부 요약

1. 루트 디렉토리 구성

  • .gitignore, LICENSE, README.md, pyproject.toml기본 git 설정 파일 포함
  • pyproject.toml의존성tool 설정을 통합하여 requirements.txt 대체
  • .dockerignore.gitignore필요 없는 파일 제외를 위한 설정

2. src 디렉토리 구조

  • django_project
  • core/: 프로젝트 레벨의 핵심 로직
  • web/: Django 앱 관련 코드
  • tests/:
  • unit/: 단위 테스트
  • integration/: 통합 테스트
  • regression/: 회귀 테스트
  • manage.py: Django 프로젝트 실행 파일

3. Docker 및 환경 설정

  • docker/ 디렉토리: Dockerfile, docker-compose.yaml, .dockerignore 포함
  • envs/ 디렉토리: .env.template, .env.local환경 변수 파일 포함
  • .env 파일은 대부분 소스 제어에서 제외

결론

  • 프로젝트 구조를 명확히 분리하여 테스트 범위별 실행이 가능하도록 설계
  • Dockerfile환경 변수 분리배포 일관성 유지
  • pyproject.toml을 통해 의존성 관리와 tool 설정 통합으로 프로젝트 설정 간소화