---
title: "Julia Evans의 Django 입문 후기"
published: 2026-01-27T22:58:30.000Z
canonical: https://jeff.news/article/1224
---
# Julia Evans의 Django 입문 후기

Julia Evans가 Django를 처음 써보고 느낀 점을 정리한 글. Rails보다 명시적이라 좋고, 빌트인 admin, ORM의 __ JOIN 문법, 자동 마이그레이션, 배터리 포함 철학 등이 마음에 듦. SQLite로 프로덕션 운영 중이며, settings.py 타이포 문제만 좀 불안함.

- Julia Evans가 몇 달 전부터 Django로 웹사이트를 만들기 시작했고, 그 경험을 정리한 글임
- Rails보다 "마법"이 적음. Rails는 convention 기반이라 몇 달 방치 후 돌아오면 뭐가 뭔지 기억이 안 나는데, Django는 urls.py, models.py, views.py, admin.py, tests.py 5개 파일에 다 명시적으로 참조되어 있어서 추적이 쉬움
- 빌트인 admin 인터페이스가 좋음. 커스터마이징도 간단한 코드로 가능함
- ORM이 생각보다 편함. 예전엔 "ORM? 그냥 SQL 쓰면 되지" 파였는데, `product__order__email_hash` 같은 `__` 문법으로 5개 테이블 JOIN을 한 줄로 표현할 수 있어서 좋음. ManyToManyField만 정의해두면 됨
- 자동 마이그레이션이 마법 같음. models.py에서 필드를 추가/삭제/변경하면 Django가 마이그레이션 스크립트를 자동 생성해줌. 지금까지 생성된 스크립트를 수정 없이 그대로 실행만 했음
- Django 문서가 좋음. Jacob Kaplan-Moss의 PyCon 2011 발표에서 다룬 문서 문화가 잘 유지되고 있음
- Postgres 운영에 고생한 경험 때문에 소규모 사이트는 전부 SQLite로 운영 중임. VACUUM INTO로 백업하고, 하루 수백 건 쓰기 정도면 충분함
- 배터리 포함 철학이 좋음. CSRF, CSP, 이메일 전송이 다 내장되어 있고, 개발 모드에서는 이메일을 파일로 저장하는 설정도 간단함
- settings.py가 아직 좀 부담됨. 글로벌 변수 이름에 타이포를 내면 잡아줄 언어 서버 지원이 없어서 불안함

## 핵심 포인트

- Rails 대비 명시적 구조라 방치 후 복귀가 쉬움
- ORM의 __ 문법으로 다중 테이블 JOIN을 간결하게 표현 가능
- 모델 변경 시 자동 마이그레이션 스크립트 생성
- 소규모 사이트는 Postgres 대신 SQLite로 프로덕션 운영
- CSRF, CSP, 이메일 등 배터리 포함

## 인사이트

20년 넘은 프레임워크의 장점은 모든 문제가 이미 해결되어 있다는 것. Django의 명시적 설계가 '방치 후 복귀' 패턴에 잘 맞음.
