Django 시작하기 - 설치부터 프로젝트 생성까지 🚀

안녕하세요! 👋 오늘은 Python의 대표적인 웹 프레임워크인 Django를 시작하는 방법에 대해 알아보겠습니다. Django를 처음 접하시는 분들도 쉽게 따라할 수 있도록 자세히 설명해드릴게요! 😊

1️⃣ Django란 무엇인가요? 🤔

Django(장고)는 Python으로 작성된 무료 오픈소스 웹 애플리케이션 프레임워크입니다. “빠른 개발”과 “깔끔하고 실용적인 디자인”을 목표로 만들어졌어요.

Django의 주요 특징 ✨

MTV 패턴 📐
Django는 MTV(Model-Template-View) 패턴을 사용합니다. 이는 다른 프레임워크의 MVC 패턴과 유사한데요:

  • Model: 데이터베이스와 상호작용하는 부분 💾
  • Template: 사용자에게 보여지는 화면 (HTML) 🎨
  • View: 비즈니스 로직을 처리하는 부분 ⚙️

배터리 포함(Batteries Included) 🔋
Django는 웹 개발에 필요한 거의 모든 기능을 기본적으로 제공합니다:

  • 강력한 ORM(Object-Relational Mapping) 시스템
  • 사용자 인증 시스템 🔐
  • 관리자 페이지(Admin Page) 자동 생성 👨‍💼
  • 폼(Form) 처리 📝
  • 세션 관리
  • 보안 기능 (CSRF, XSS, SQL Injection 방지) 🛡️

확장성과 안정성 💪
Instagram, Pinterest, NASA 등 많은 대형 서비스들이 Django를 사용하고 있어요. 이는 Django가 얼마나 안정적이고 확장 가능한지를 증명합니다!

Django를 선택하는 이유 🎯

  • 빠른 개발 속도: 반복적인 작업을 자동화하여 개발 시간을 단축시켜줍니다 ⚡
  • DRY 원칙: Don’t Repeat Yourself! 코드 중복을 최소화합니다 ♻️
  • 풍부한 문서: 공식 문서가 매우 잘 정리되어 있어요 📚
  • 활발한 커뮤니티: 전 세계적으로 많은 개발자들이 사용하고 있습니다 🌍
  • 보안: 보안 관련 많은 기능들이 기본 내장되어 있어 안전합니다 🔒

2️⃣ Django 설치하기 📦

Django를 시작하기 위해서는 먼저 Python이 설치되어 있어야 합니다. Python 3.8 이상 버전을 권장합니다! 🐍

Step 1: Python 설치 확인 ✅

터미널(또는 명령 프롬프트)을 열고 다음 명령어로 Python이 설치되어 있는지 확인해보세요:

python --version
# 또는
python3 --version

Python 버전이 표시되면 정상적으로 설치된 것입니다! 🎉

Step 2: 가상환경 생성하기 🏠

가상환경을 사용하면 프로젝트마다 독립적인 Python 환경을 구성할 수 있어요. 이렇게 하면 프로젝트 간 패키지 충돌을 방지할 수 있습니다!

가상환경 생성:

# Windows
python -m venv myenv

# macOS/Linux
python3 -m venv myenv

여기서 myenv는 가상환경의 이름이에요. 원하는 이름으로 변경해도 됩니다! 😊

가상환경 활성화:

# Windows
myenv\Scripts\activate

# macOS/Linux
source myenv/bin/activate

가상환경이 활성화되면 터미널 프롬프트 앞에 (myenv)가 표시됩니다! ✨

Step 3: Django 설치 🎁

이제 pip를 사용하여 Django를 설치해볼까요?

pip install django

최신 버전의 Django가 자동으로 설치됩니다! 🚀

특정 버전 설치하기:

# 특정 버전 설치
pip install django==4.2

# 최신 LTS 버전 설치 (권장)
pip install django==4.2.7

Step 4: 설치 확인 🔍

Django가 제대로 설치되었는지 확인해봅시다:

django-admin --version

버전 번호가 표시되면 성공적으로 설치된 것입니다! 🎊

추가 패키지 설치 (선택사항) 📚

Django 개발을 더 편하게 하기 위한 추가 패키지들도 설치할 수 있어요:

# 개발 서버 자동 재시작 (이미 Django에 포함됨)
pip install django

# PostgreSQL 사용 시
pip install psycopg2-binary

# MySQL 사용 시
pip install mysqlclient

# 환경변수 관리
pip install python-decouple

# REST API 개발 시
pip install djangorestframework

# CORS 처리
pip install django-cors-headers

필요한 패키지만 선택해서 설치하시면 됩니다! 😉

3️⃣ Django 프로젝트 생성하기 🏗️

자, 이제 본격적으로 Django 프로젝트를 만들어볼 시간입니다! 두근두근! 💓

Step 1: 프로젝트 생성 🎬

원하는 디렉토리로 이동한 후, 다음 명령어로 새 프로젝트를 생성합니다:

django-admin startproject myproject

myproject는 프로젝트 이름이에요. 원하는 이름으로 변경 가능합니다! (예: blog, ecommerce, portfolio 등)

이 명령어를 실행하면 다음과 같은 구조의 프로젝트가 생성됩니다:

myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py

각 파일의 역할: 📋

  • manage.py: Django 프로젝트를 관리하는 커맨드라인 유틸리티 🛠️
  • settings.py: 프로젝트의 모든 설정이 담긴 파일 ⚙️
  • urls.py: URL 라우팅을 관리하는 파일 🗺️
  • wsgi.py: 프로덕션 서버 배포 시 사용 🚀
  • asgi.py: 비동기 서버 배포 시 사용 ⚡

Step 2: 프로젝트 디렉토리로 이동 🚶‍♂️

cd myproject

Step 3: 데이터베이스 마이그레이션 🗄️

Django는 기본적으로 SQLite 데이터베이스를 사용합니다. 초기 데이터베이스 테이블을 생성해봅시다:

python manage.py migrate

여러 줄의 메시지가 나타나면서 데이터베이스 테이블들이 생성됩니다! ✅

Step 4: 개발 서버 실행 🎮

드디어 Django 서버를 실행할 시간입니다!

python manage.py runserver

터미널에 다음과 같은 메시지가 표시됩니다:

Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

이제 브라우저를 열고 http://127.0.0.1:8000/ 또는 http://localhost:8000/에 접속해보세요! 🌐

Django의 환영 페이지(로켓 그림 🚀)가 보이면 성공입니다! 축하합니다! 🎉🎊

다른 포트로 실행하기:

python manage.py runserver 8080

Step 5: 관리자 계정 생성 👤

Django의 강력한 기능 중 하나인 관리자 페이지를 사용하기 위해 슈퍼유저를 생성해봅시다:

python manage.py createsuperuser

사용자 이름, 이메일, 비밀번호를 입력하라는 메시지가 나타납니다. 차례대로 입력해주세요! 📝

생성 후 서버를 실행하고 http://127.0.0.1:8000/admin/에 접속하면 로그인 페이지를 볼 수 있습니다! 🔐

Step 6: 앱(App) 생성하기 📱

Django에서는 기능별로 ‘앱’을 만들어 관리합니다. 예를 들어, 블로그 프로젝트라면 ‘posts’, ‘comments’, ‘users’ 같은 앱들로 구성할 수 있어요!

새 앱을 생성해봅시다:

python manage.py startapp myapp

myapp이라는 이름의 새로운 앱이 생성됩니다! 다음과 같은 구조가 만들어져요:

myapp/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
migrations/
__init__.py

각 파일의 역할: 📋

  • models.py: 데이터 모델 정의 🗃️
  • views.py: 뷰 함수/클래스 정의 🎯
  • admin.py: 관리자 페이지 설정 👨‍💼
  • tests.py: 테스트 코드 작성 🧪
  • migrations/: 데이터베이스 마이그레이션 파일 저장 📦

Step 7: 앱 등록하기 📌

생성한 앱을 프로젝트에 등록해야 Django가 인식할 수 있어요!

myproject/settings.py 파일을 열고 INSTALLED_APPS 리스트에 앱을 추가합니다:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', # 🆕 새로 추가!
]

간단한 View 만들어보기 🎨

myapp/views.py 파일을 열고 다음 코드를 작성해봅시다:

from django.http import HttpResponse

def hello(request):
return HttpResponse("안녕하세요! Django 세계에 오신 것을 환영합니다! 🎉")

myapp/urls.py 파일을 새로 생성하고:

from django.urls import path
from . import views

urlpatterns = [
path('', views.hello, name='hello'),
]

메인 myproject/urls.py 파일에 앱의 URL을 연결합니다:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
path('admin/', admin.site.urls),
path('hello/', include('myapp.urls')), # 🆕 새로 추가!
]

서버를 실행하고 http://127.0.0.1:8000/hello/에 접속하면 환영 메시지를 볼 수 있습니다! 🎊

마치며 🎓

축하합니다! 🎉 여러분은 이제 Django의 기본을 모두 마스터했어요!

오늘 배운 내용을 정리하면:

  • ✅ Django가 무엇인지, 왜 사용하는지 이해했어요
  • ✅ Django를 설치하고 가상환경을 구성했어요
  • ✅ 새로운 프로젝트와 앱을 생성했어요
  • ✅ 간단한 뷰를 만들어 실행해봤어요

이제 여러분은 Django로 멋진 웹 애플리케이션을 만들 준비가 되었습니다! 💪

Django는 정말 강력하고 유용한 프레임워크예요. 공식 문서(https://docs.djangoproject.com)를 참고하면서 더 많은 기능들을 탐험해보세요! 📚

다음 포스팅에서는 Django 모델과 데이터베이스 연동에 대해 알아보겠습니다! 기대해주세요! 😊

Happy Coding! 💻✨

Share