| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 젯브레인즈
- vscode
- 코딩에이전트
- ChatGPT
- 바이브코딩
- 클로드코드
- OpenAI
- 코드리팩토링
- 인텔리제이
- Agents
- Anthropic
- 코덱스
- 리팩토링
- claude code
- ChatGPTCodex
- PHP리팩토링
- Jetbrains
- Claude
- claudecode
- AI코딩
- Codex
- php
- Antropic
- IntelliJ
- Today
- Total
CHHB stroy
Django 프레임워크 – 파이썬 웹 개발의 강력한 무기 본문
안녕하세요! 오늘은 Python의 대표 웹 프레임워크, Django(장고)에 대해 공부한 내용을 정리해봤습니다.
처음엔 “장고? 재즈 뮤지션 이름 아닌가?” 했는데 😅, 직접 써보니 웹 개발에 필요한 기능을 거의 다 갖춘 올인원 도구이더라고요.
📌 Django란?
Django는 고수준(high-level) 파이썬 웹 프레임워크로, 복잡한 일을 대신 처리해 주어 개발자가 빠르고 실용적으로 앱을 만들 수 있게 도와줍니다.
경험 많은 개발자들이 설계했으며, 보일러플레이트를 최소화해 앱 개발에 집중할 수 있고, 자유롭고 오픈 소스로 제공됩니다.
또한 Django는 보안을 중요한 가치로 삼아 흔한 웹 보안 실수를 예방하도록 돕고, 높은 트래픽에도 유연하게 확장될 수 있도록 설계되어 있습니다.
📜 장고의 역사와 현황
Django는 2003년 미국의 Lawrence Journal-World 신문사 개발팀이 파이썬으로 웹사이트를 개발하면서 공통 코드를 재사용하기 위해 시작되었습니다.
그 코드는 2005년 오픈소스로 공개되었고, 커뮤니티가 급성장하여 수많은 서드파티 패키지와 튜토리얼이 생겨났습니다.
2025년 8월 기준 최신 안정 버전은 Django 5.2.5이며, 2025년 8월 6일에 버그픽스 릴리스가 발표되었습니다.
🌟 장고의 주요 특징
- 초고속 개발: 아이디어를 신속히 제품으로 바꿀 수 있습니다.
- 완전한 구성요소: 인증, 권한, 관리자 페이지 등 흔히 필요한 기능이 기본 내장.
- 다재다능: 블로그, 전자상거래, 주문형 서비스 등 다양한 웹 프로젝트에 활용 가능.
- 보안 우선: CSRF, XSS, SQL 인젝션, 클릭재킹 등 주요 보안 위협 기본 방어.
- 확장성: 서버 확장에 유리한 구조로 대규모 트래픽에도 대응 가능.
🏗 MTV 아키텍처 이해하기
Django는 MTV(Model-Template-View) 패턴을 따릅니다.
- Model(모델): 데이터 구조와 데이터베이스 연동 방법을 정의.
예:Post모델을 만들면 ORM이 SQL 없이 데이터베이스와 대화. - Template(템플릿): HTML 등의 출력 구조를 정의, 뷰에서 전달한 데이터로 렌더링.
- View(뷰): 요청을 받아 모델과 템플릿을 연결해 응답 생성.
이렇게 세 계층이 분리되어 유지보수와 협업이 쉬워지고, 병렬 작업이 가능합니다.
🛠 설치와 프로젝트 생성
# 장고 설치
pip install django
# 새 프로젝트 생성 (myproject는 원하는 이름)
django-admin startproject myproject
# 개발 서버 실행
cd myproject
python manage.py runserver
📂 기본 프로젝트 구조
myproject/
manage.py # 장고 명령어 실행
myproject/ # 프로젝트 설정
settings.py # 환경 설정
urls.py # URL 라우팅
wsgi.py # 서버 인터페이스
🔧 앱 생성과 등록
# 앱 생성
python manage.py startapp blog
settings.py에서 앱 등록:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'blog', # ← 새 앱 등록
]
✍️ 간단한 모델 예제
# blog/models.py
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200) # 글 제목
content = models.TextField() # 글 내용
created_at = models.DateTimeField(auto_now_add=True) # 작성일
def __str__(self):
return self.title
🔁 마이그레이션 생성
python manage.py makemigrations # 마이그레이션 파일 생성
python manage.py migrate # DB에 적용
🖥 관리자 페이지 활용
# blog/admin.py
from django.contrib import admin
from .models import Post
admin.site.register(Post)
관리자 계정 생성:
python manage.py createsuperuser
이후 /admin/ 경로에서 로그인하여 데이터 관리 가능.
🎯 실전 팁
- 환경 분리: dev/prod 환경 설정 분리(
settings_dev.py,settings_prod.py) - 확장 패키지: REST API →
django-rest-framework, 실시간 기능 →channels - 보안:
SECRET_KEY와 DB 비밀번호는 환경변수로 관리 - 다국어 지원:
makemessages,compilemessages활용
태그: #Django #Python #웹개발 #모델 #초보자
'Python' 카테고리의 다른 글
| 🌐 Python Requests 완벽 가이드 (3) | 2025.08.07 |
|---|---|
| 🥣 BeautifulSoup: 2025 최신 가이드 (6) | 2025.08.06 |
| 🐼 Pandas 라이브러리 자주 쓰는 함수 총정리 (3) | 2025.08.03 |
| 📌 Windows 11에서 WSL2, Docker, Python, PyCharm 설치 및 연동 가이드 (2) | 2025.08.02 |
| Python 기초 문법 완벽 정리 (0) | 2025.04.20 |
