출시·고도화 중
Framework · 2005년 공개
Django는 파이썬으로 데이터베이스 기반 웹 애플리케이션을 빠르게 만들 수 있게 해 주는 풀스택 웹 프레임워크로, ORM·관리자 화면·인증을 기본으로 제공합니다.
Django는 파이썬으로 작성된 오픈 소스 웹 프레임워크입니다. 2005년에 공개되었고, 지금은 비영리 단체인 Django Software Foundation이 관리합니다. 모델(Model)·템플릿(Template)·뷰(View)로 역할을 나누는 MTV 구조를 따르며, URL 라우팅, ORM, 템플릿 엔진, 폼, 인증, 관리자 화면처럼 웹 서비스에 필요한 기능을 대부분 기본으로 갖추고 있어 '배터리 포함' 프레임워크라고 불립니다.
Django는 콘텐츠 관리 시스템, 사내 업무 도구, 전자상거래, REST API 서버처럼 데이터베이스를 중심으로 하는 서비스에서 특히 강합니다. 모델 클래스만 정의하면 마이그레이션으로 테이블을 만들고, 자동으로 생기는 관리자 화면에서 바로 데이터를 다룰 수 있습니다. CSRF, SQL 인젝션, XSS, 클릭재킹 같은 흔한 공격에 대한 방어도 기본으로 켜져 있습니다.
처음 배운다면 가상 환경을 만들고 pip으로 Django를 설치한 뒤, 공식 문서의 투표(polls) 앱 튜토리얼을 처음부터 끝까지 따라 해 보는 것을 권합니다. 모델을 정의하고, 마이그레이션을 실행하고, 뷰와 템플릿을 연결하는 흐름을 한 번 경험하고 나면 나머지 기능은 필요할 때 레퍼런스에서 찾아 쓰면 됩니다.
파이썬 클래스로 모델을 정의하면 SQL 없이 조회하고 저장할 수 있으며, 모델이 바뀌면 makemigrations와 migrate로 데이터베이스 구조를 함께 바꿉니다.
모델을 등록하기만 하면 데이터를 검색·추가·수정·삭제할 수 있는 관리자 화면이 만들어져, 운영 도구를 따로 만들 일이 줄어듭니다.
CSRF 보호, 템플릿의 자동 HTML 이스케이프, 매개변수화된 쿼리, 안전한 비밀번호 해시가 처음부터 적용됩니다.
사용자·그룹·권한 모델과 로그인 뷰, 입력을 검증하는 폼과 모델 폼을 기본으로 제공합니다.
프로젝트 폴더에서 파이썬 가상 환경을 만들고 활성화합니다. 아래는 macOS·Linux 명령이며, Windows에서는 .venv\Scripts\activate로 활성화합니다.
python -m venv .venv && source .venv/bin/activate가상 환경 안에서 pip으로 Django를 설치합니다. 설치가 끝나면 django-admin 명령을 쓸 수 있습니다.
python -m pip install Djangodjango-admin으로 새 프로젝트를 만들고 개발 서버를 실행한 뒤, 브라우저에서 http://127.0.0.1:8000 을 엽니다.
django-admin startproject mysite && cd mysite && python manage.py runserverstartproject가 만든 mysite/urls.py를 위와 같이 바꾸면 루트 주소에서 Hello, world!를 돌려주는 가장 작은 Django 앱이 됩니다. 뷰는 요청(request)을 받아 HttpResponse를 돌려주는 함수이고, urlpatterns가 URL과 뷰를 연결합니다. 개발 서버는 코드가 바뀌면 스스로 다시 시작합니다.
mysite/urls.py
from django.http import HttpResponse
from django.urls import path
def hello(request):
return HttpResponse("Hello, world!")
urlpatterns = [
path("", hello),
]
django-admin startproject mysite && cd mysite && python manage.py runserver설치부터 Django 의 핵심 개념까지, 여섯 장으로 차근차근 따라 합니다.
Django 에 관해 묻고, 경험을 나누고, 의견을 주고받는 곳입니다.
아직 토론이 없습니다. 첫 이야기를 시작해 보세요.
댓글 0개
로그인 · 로그인하면 댓글을 남길 수 있습니다.
첫 댓글을 남겨 보세요.