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

Django 프로젝트 구조 이해하기: 나만의 디버깅 경험을 통한 학습

카테고리

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

서브카테고리

웹 개발

대상자

  • 초보 Django 개발자
  • 중급 Python 개발자
  • 가상 환경 설정 및 프로젝트 구조 이해가 필요한 사용자
  • 난이도: 중간 (기본 Python 지식 필요)

핵심 요약

  • 가상 환경 설정: python3 -m venv venv 명령어로 프로젝트별 의존성 분리
  • 프로젝트 구조: 외부 폴더(my_project/)는 프로젝트 루트, 내부 폴더는 실제 구성 파일이 위치
  • 핵심 파일: settings.py(설정), urls.py(라우팅), models.py(데이터베이스 설계), admin.py(관리자 인터페이스)

섹션별 세부 요약

1. 가상 환경 생성 및 활성화

  • sudo apt install python3-venv 명령어로 virtualenv 설치
  • python3 -m venv venv 명령어로 가상 환경 생성
  • source venv/bin/activate 명령어로 환경 활성화 후 pip install django 실행

2. Django 프로젝트 구조 분석

  • 외부 폴더: 프로젝트 루트 경로 (예: my_project/)
  • 내부 폴더: 실제 설정 파일 (settings.py, urls.py)이 포함된 핵심 영역
  • asgi.py/wsgi.py: 비동기 및 전통 웹 서버 프로토콜 허브 역할

3. `manage.py` 활용

  • 개발 서버 실행, 앱 생성 (startapp), 마이그레이션, 쉘 접근 등 모든 프로젝트 관련 작업의 진입점

4. 앱 구조 이해

  • models.py: 데이터베이스 설계
  • views.py: 요청-응답 주기 처리
  • admin.py: 관리자 인터페이스 커스터마이징

5. 템플릿 및 정적 파일 처리

  • {% %}/{{ }} 블록으로 Django-aware 템플릿 작성
  • STATICFILES_DIRS 설정으로 정적 파일 경로 관리
  • media/ 폴더: 사용자 업로드 파일 저장

결론

  • 핵심 팁: 가상 환경 설정과 프로젝트 구조를 직접 경험하며 학습 (예: startproject/startapp 명령어 사용)
  • 실무 적용: settings.py에서 앱 등록 및 정적 파일 경로 설정을 통해 실질적인 디버깅 경험으로 구현 가능
  • 최종 결론: Django 프로젝트 구조는 단순한 디렉터리가 아닌, 아키텍처 설계의 핵심으로 이해해야 성능 향상 및 확장성 확보 가능