**예를 들어:
모델이 있어야 DB 테이블을 만들 수 있습니다.
DB 테이블이 있어야 admin에서 데이터를 넣어볼 수 있습니다.
데이터가 있어야 목록 페이지에서 의미 있는 화면을 볼 수 있습니다.
URL이 연결되어야 View가 동작합니다.
View가 있어야 Template에 데이터를 넘길 수 있습니다.
즉 이번 교안은 앞 단계가 다음 단계의 준비가 되도록 설계된 순서입니다.**
study_time_tracker/
├── config/
├── study/
├── templates/
├── static/
│ └── css/
├── db.sqlite3
└── manage.py
study_time_tracker/
├── .venv/
├── config/
│ ├── init.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
study/
├── init.py
├── admin.py
├── apps.py
├── migrations/
├── models.py
├── tests.py
└── views.py
1.study_time_tracker = 프로젝트 폴더 만들기
2.config = mysite = Django 프로젝트 생성
3.study = polls (app)
1.왜 폴더를 먼저 만들까?
실습 초반부터 폴더 구조를 정리하지 않으면, 나중에 여러 프로젝트 파일이 섞이거나 경로를 헷갈릴 수 있습니다. 이번 실습은 이 study_time_tracker 폴더 안에서 아래 요소들을 함께 관리하게 됩니다.
Django 프로젝트 파일
앱 파일
템플릿 파일
CSS 파일
DB 파일
가상환경 폴더
즉 이 폴더 하나가 이번 프로젝트의 작업 공간이 됩니다.
2.config 는 Django 설정 패키지 이름
마지막 . 은 “현재 폴더에 바로 생성하라”는 뜻
즉 지금 작업 중인 study_time_tracker 폴더 안에 Django 프로젝트를 바로 생성하겠다는 의미입니다.
특히 아래 두 파일이 가장 중요합니다.
config/settings.py
config/urls.py
파일 역할
manage.py Django 명령 실행 진입점
config/settings.py 프로젝트 전체 설정 파일
config/urls.py 최상위 URL 연결 파일
config/wsgi.py 배포용 서버 연결
config/asgi.py 비동기 서버 연결
이번 실습에서는 공부 기록 기 능을 담당할 study 앱을 생성합니다.프로젝트와 앱의 차이 부분은 초보자가 많이 헷갈립니다.
프로젝트는 전체 웹서비스의 큰 틀입니다. 앱은 프로젝트 안에서 특정 기능을 맡는 단위입니다.
예를 들어 큰 서비스라면:
사용자 앱
게시판 앱
주문 앱
결제 앱
처럼 나눌 수 있습니다.
이번 실습은 단순하므로 study 앱 하나만 사용하지만,
Django는 기본적으로 이렇게 기능별 분리를 지향합니다.
중간중간 추가적으로 설치할 부분들과 확인해야 할 부분에 대한
WHY? 이걸 해야하는지와 필요성 인지
작업을 하면서 가장 중요하게 생각해야 할 부분 ?!
큰 틀의 흐름도 파악 + 중요한 개념인데 그냥 넘어간 부분에 대해 깊게 파고들기



왜 URL을 먼저 생각할까?
브라우저 요청은 결국 URL로 들어옵니다.
그리고 Django는 아래 흐름으로 동작합니다.
즉 URL은 사용자의 요청이 들어오는 입구입니다.
URL
→ View
→ Template
→ 브라우저 화면