✅ 1. Django 초기 폴더 구조 및 역할
- manage.py
- Django 프로젝트를 관리하는 커맨드라인 툴
- 일반적으로 변경하지 않음
- ex) 서버 실행, 마이그레이션 명령 등 수행
- asgi.py, wsgi.py
- Python 웹 서버와 Django 앱 사이 연결 담당
- ASGI: 비동기, WSGI: 동기 → 실서비스에서는 WSGI 또는 ASGI 서버와 함께 사용됨
- urls.py, settings.py
- 프로젝트 전체 설정과 라우팅에 가장 자주 수정되는 파일
- urls.py: URL → View 연결
- settings.py: 앱 등록, DB 설정, static 경로 등 관리
✅ 2. runserver 실행 및 결과
python manage.py runserver
- StatReloader: 코드 수정 시 자동으로 서버 재시작
- 미적용 마이그레이션 경고:
- “You have 18 unapplied migration(s)...”
→ python manage.py migrate로 반영 - 서버 주소: http://127.0.0.1:8000/
- 주의사항: 개발용 서버이며, 실 서비스에는 사용 X
✅ 3. db.sqlite3 파일
- Django의 기본 SQLite DB 파일
- migrate 명령 시 자동 생성
- 개발 초기에는 크게 신경 쓰지 않아도 됨
✅ 4. Django App 개념
- Django는 Module 대신 App이라는 단위로 기능을 나눔
- 하나의 프로젝트(mypage) 아래 여러 앱을 생성 가능 (ex. challenges, products, cart 등)
예시:
- Google → 검색, 지도, Gmail (각각 앱 개념)
- Amazon → 쇼핑몰, 뮤직, 프라임 비디오 (각각 앱 개념)
- 프로젝트 단위: mypage
- 앱 단위: challenges (기능별로 생성)
✅ App은 프로젝트의 빌딩 블록
✅ 5. App 구조 내 주요 파일
- admin.py
- 관리자 페이지 관련 설정
- 모델을 등록해 관리 페이지에서 보기 가능
- "엄청 중요한 파일" → 커스터마이징도 가능
- models.py
- DB 구조 정의 (테이블처럼 생각)
- Django ORM을 통해 SQL 없이 DB 다룸
- views.py
- 사용자에게 보여지는 로직
- 클라이언트 요청 → 어떤 데이터를 보여줄지 결정
- 템플릿과 연결되기도 함
📝 요약 정리
구성 요소 설명
| manage.py | Django 프로젝트 관리 명령 |
| settings.py | 앱 등록, DB 등 전역 설정 |
| urls.py | URL과 view 연결 |
| asgi.py/wsgi.py | 서버 인터페이스 파일 |
| db.sqlite3 | 기본 제공되는 SQLite DB |
| App | 기능 단위로 쪼갠 소규모 모듈 |
| admin.py | 관리자 페이지 설정 |
| models.py | DB 구조 정의 |
| views.py | 유저에게 보여주는 로직 구현 |
'Programming > Django' 카테고리의 다른 글
| [Python Django - The Practical Guide] 장고로 블로그 만들기 프로젝트 (기초) (7) | 2025.07.21 |
|---|---|
| [Django] 2. URLs & Views 핵심 요약 (0) | 2025.07.20 |
| [Python Django - The Practical Guide] Templates & Static Files (2) | 2025.07.18 |
| [Django] 템플릿에서 정적 파일(static file) 경로를 동적으로 만드는 방법 (0) | 2025.07.18 |
| [Django] 📘 Template Language (DTL) — 중요한 개념 3가지 (3) | 2025.07.18 |