특강
[Django 1일차] 프로젝트 세팅 튜토리얼 정리 3/4 (250512)
Chansman
2025. 5. 12. 15:23
🚀 Django 숏 URL 프로젝트 세팅 튜토리얼 정리
이 튜토리얼은 Django 프레임워크를 사용하여 웹 애플리케이션의 기초 구조를 세팅하는 과정을 상세히 안내합니다. 프로젝트 생성, 앱 구성, 서버 실행, IP/포트의 개념까지 단계별로 설명하며, 코드와 명령어의 흐름도 함께 이해할 수 있도록 구성했습니다.
1️⃣ 장고 프로젝트 세팅 개요
- Django 설치 후, django-admin 명령어를 통해 프로젝트 생성 가능
- 명령어:
- django-admin startproject [프로젝트명] [경로]
- 프로젝트명: 장고 내부 구성 디렉토리 이름으로 사용됨
- 경로: 선택적으로 지정 가능, 현재 위치는 . 으로 대체 가능
예시:
mkdir short_url
cd short_url
django-admin startproject config .
이 구조로 만들면 다음과 같이 파일이 생성됨:
short_url/
├── manage.py
└── config/
├── __init__.py
├── settings.py
├── urls.py
├── wsgi.py
└── asgi.py
💡 config는 환경설정 디렉토리 역할을 하므로 많은 개발자들이 이름을 'config'로 지정합니다.
2️⃣ 프로젝트 디렉토리 구조와 이름 짓기
- Django는 프로젝트 생성 시, 내부 디렉토리명을 프로젝트명과 동일하게 지정함
- 이로 인해 혼란을 피하기 위해 config, settings, server 등의 이름 사용이 일반적
- 예시:
- django-admin startproject config short_url
→ short_url/ 내부에 config/, manage.py가 위치함
3️⃣ Django 앱(App) 만들기 및 역할 이해
- Django는 기능 단위를 앱(App) 으로 분리하여 관리함
- 하나의 프로젝트 안에 여러 앱을 만들 수 있으며, 각 앱은 특정 기능(예: 사용자, 게시판 등)을 담당
📦 앱 생성 명령어
python manage.py startapp user
python manage.py startapp shortener
생성된 앱 폴더 구조:
user/
├── models.py
├── views.py
├── urls.py (직접 생성)
└── apps.py
📌 앱을 settings.py에 등록
# config/settings.py
INSTALLED_APPS = [
...
'user.apps.UserConfig',
'shortener.apps.ShortenerConfig',
]
4️⃣ 장고 서버 실행 및 IP/포트 개념
🔹 서버 실행
python manage.py runserver
→ 기본적으로 127.0.0.1:8000 에서 실행됨
🔹 포트 변경
python manage.py runserver 7777
🔹 IP & 포트란?
- IP 주소: 컴퓨터의 인터넷 주소
- 포트: 하나의 컴퓨터에서 여러 프로그램을 분리해주는 통신 창구 (ex. 8000은 Django 개발 서버 전용)
- 127.0.0.1: 루프백(Loopback) 주소, 자기 자신
- localhost: 127.0.0.1 과 동일한 의미로 사용
예시:
127.0.0.1:8000 → 내 컴퓨터의 Django 서버 실행 화면 확인 가능
5️⃣ 루프백(127.0.0.1)과 포트 이해
- 127.0.0.1은 자기 자신을 의미하는 고정된 IP 주소
- 포트는 1~65535번까지 사용 가능하며, 일부 포트는 예약됨:
- HTTP: 80
- HTTPS: 443
- MySQL: 3306
- PostgreSQL: 5432
- 개발서버 권장 포트: 8000, 8080, 8888 등
❌ 잘못된 예시:
python manage.py runserver 77777 # ❌ 65535 초과 → 에러 발생
6️⃣ Django manage.py의 역할
manage.py는 Django 명령어를 실행하기 위한 엔트리 포인트입니다.
자주 쓰는 명령어
- 서버 실행: python manage.py runserver
- 앱 생성: python manage.py startapp [앱명]
- 마이그레이션: makemigrations, migrate
- 관리자 계정 생성: createsuperuser
도움말 보기
python manage.py runserver --help
7️⃣ 실전 앱 구성 전략
- Django에서는 앱이 프로젝트의 기능 단위임
- 예:
- user: 회원가입, 로그인, 인증
- shortener: URL 단축 기능 담당
✔️ 개발자가 원하는 기준으로 앱 구성 가능
- 하나의 앱에 모든 기능을 몰아넣는 것도 가능하지만 권장되지 않음
- 역할별로 나누는 것이 유지보수에 유리함
✅ 최종 구성 예시 (short_url 기준)
short_url/
├── manage.py
├── config/
│ ├── settings.py
│ ├── urls.py
├── user/
│ ├── models.py
│ └── apps.py
├── shortener/
│ ├── models.py
│ └── apps.py
이 정리를 통해 Django의 기초 구조, 명령어 사용법, 앱 구성, 서버 실행 방식, IP와 포트 개념 등 실무에 필요한 전반적인 흐름을 파악할 수 있습니다.