현재 번역은 완벽하지 않습니다. 한국어로 문서 번역에 동참해주세요.

Django는 파이썬으로 구성된 매우 인기 있고 완벽한 기능을 갖춘 서버측 웹 프레임워크입니다. 이 모듈에서는 Django가 웹 서버 프레임워크 중 가장 유명한 이유와 개발환경을 설정하는 방법, 그리고 이를 통해 자신만의 웹 애플리케이션을 만드는 법을 보여줍니다.

전제조건

이 모듈을 시작하기 전에 Django에 대해 알 필요가 없습니다. 하지만, Server-side website programming first steps 모듈을 보면서 서버 측 웹 프로그래밍과 웹 프레임워크에 대해서는 이해 할 필요가 있습니다.

프로그래밍 개념과 Python에 대한 일반적인 지식은 권장하지만, 핵심 개념을 이해하는데 반드시 필요한 것은 아닙니다.

노트: Python은 초보자가 읽고 이해할 수 있는 가장 쉬운 프로그래밍 언어 중 하나 입니다. 즉, 당신이 이 모듈을 더 많이 이해하기를 원한다면, 인터넷에서 다수의 무료 서적과 자습서들을 이용할 수 있습니다(미숙한 프로그래머들은 python.org wiki 에서 Python for Non Programmers 페이지를 확인하고 싶을 것입니다.).

가이드

Django 소개
첫번재 Django 문서에서는 "Django란?" 물음에 답하면서 이 웹 프레임워크를 특별하게 만드는 요소에 대한 개요를 제공 합니다. 우리가 살펴볼 주된 기능을 간략히 설명하면, 우리는 자세한 설명을 이 모듈에서 하지 않지만 일부 고급 기능에 대한 것을 포함 합니다. 또한 Django 애플리케이션의 주요 구성 요소 중 일부를 보여줌으로써 당신이 Django 애플리케이션을 설정하고 시작하기 전에 무엇을 할 수 있는지에 대한 아이디어를 제공하게 될 것입니다.
Django 개발 환경 설정
이제 Django가 무엇인지 알았으므로 Windows, Linux (Ubuntu) 및 Mac OS X에서 Django 개발 환경을 설정하고 테스트하는 방법을 보여줍니다. 어떠한 운영 체제를 사용하던지 이 문서에서는 당신이 Django 앱 개발 시작에 필요한 것을 제공합니다.
Django Tutorial: The Local Library website
본격적인 수업이 시작되는 여기서는 무엇을 배우고, 앞으로 계속 발전될 "로컬 저장소"의 예제 웹사이트를 살펴봅니다.
Django Tutorial Part 2: Creating a skeleton website
이 수업에서는 기본적인 웹사이트의 "뼈대"를 만드는 방법을 살펴봅니다. 그런 다음 사이트별 설정, 북마크, 모델, 보기 및 템플릿을 사용하여 채울 것입니다.
Django Tutorial Part 3: Using models
이 수업에서는 로컬 저장소 웹사이트에서 모델을 저장하는 방법에 대해 알아봅니다. 모델이란 웹 앱의 자료구조를 나타내며, Django의 데이터 베이스에 데이터를 저장할 수 있도록 해줍니다. 모델이 무엇인지, 어떻게 선언하고, 몇몇 중요한 필드 타입도 살펴본다. 짧게나마, 모델 데이터에 접근하는 방법에 대해서도 배울 것이다.
Django Tutorial Part 4: Django admin site
이제 로컬라이브러리 웹사이트의 모델을 만들 것이므로 Django 관리자 사이트에 실제 책 데이터를 추가할 것이다. 먼저 관리자 사이트 모델에 등록하는 방법부터, 로그인, 데이터를 생성하는 방법도 배울 것이다. 수업 끝에서는 관리자 사이트의 PT를 향상시키는 더 많은 방법도 알아볼 것이다. 
Django Tutorial Part 5: Creating our home page
이제 첫페이지(홈페이지 개념으로 모델 종류를 기록하고 사이드바나 다른 페이지의 링크들이 있음)를 표시하기위한 코드를 입력할 수 있다. 이 방법을 통해 기본적인 URL 맵이나 뷰를 작성하고, 데이터베이스에 기록하고, 템플릿을 사용하는 방법을 익힐 수 있다.
Django Tutorial Part 6: Generic list and detail views
이 수업에서는 로컬에 저장되어 있는 웹사이트에 리스트를 더하고 책이나 저자등 좀 더 세세한 페이지들을 만드는 등 확장시켜본다. 클래스 기반의 뷰를 배우고 일반적인 사용자 입장에서 코드의 양을 줄이는 방법도 배울 것이다. URL 핸들링에 대해 자세히 다루면서 기본적인 패턴 인식도 실행시켜 볼 것이다.
Django Tutorial Part 7: Sessions framework
여기서는 로컬에 저장되어 잇는 웹사이에 세션 기반의 방문자 세기를 홈페이지 추가해 본다. 비교적 간단한 예제이지만, 방문자의 행동을 분석하는 등 세션 프레임워크로 하여금 인식을 할 수 있게 한다.
Django Tutorial Part 8: User authentication and permissions
이 수업에서는 자신의 계정으로 웹사이트에 로그인하는 방법에 대해 배우고, 어떻게 허가를 가지며 로그인 할 수 있는지 알 수 있다. 이를 통해 로그인 및 로그 아웃 페이지를 따로 만들어보고, 사용자와 관리자 따로 페이지를 만들어 빌린 책을 다른 방식으로 보여지게끔 해본다.
Django Tutorial Part 9: Working with forms
여기서는 Django에서 HTML Forms을 어떻게 사용하는 살펴보고, 특히 모델을 생성하고, 갱신하고, 지우는 등의 폼을 작성하는 가장 쉬운 방법도 살펴본다. 따라서, 로컬 웹사이트에 사용자들이 책을 갱신하고, (관리자 모드보다) 폼을 작성하여 작가관련 내용을 생성하고, 수정해보고, 지워본다.
Django Tutorial Part 10: Testing a Django web application
웹사이트가 확장되어감에 따라 일일이 확인하기가 점점 어려워질 것입니다. 테스트해야할 요소 자체가 많아질 뿐만 아니라 요소간의 상호관계도 복잡해지면서 작은 요소의 변화가 다른 큰 요소들에까지 영향을 미치게됩니다.  이런 문제에 대한 걱정을 덜어줄 수 있는 방법은 자동 테스트 코드를 작성하는 것입니다. 자동 테스트 코드는 소스에 변화가 생길때마다 작동하는 코드입니다. 이번 강좌에서는 성능이 우수하면서도 작성이 간단한 Django의 테스트 프레임워크로 어떻게 당신의 웹사이트를 단위 테스트할수 있는지 알아봅니다.
Django Tutorial Part 11: Deploying Django to production
이제 당신은 훌륭한 로컬저장소 웹사이트를 만들었으니, 로컬저장소가 아닌 공개 서버에 업로드 함으로서 인터넷을 통해 관리자와 사용자들이 접근할 수 있도록 하고싶을 겁니다. 이 수업에서는 호스트 업체를 찾고 웹사이트를 등록하는 방법과 사이트에 상품가치를 부여하는 방법을 알아봅니다.
Django web application security
사용자의 데이터를 보호하는 것은 웹사이트 디자인에서 중요한 부분입니다. 이전에 Web security 수업에서 일반적인 보안 위협들에 대해 알아보았고, 이번 항목에서는 해킹으로 부터 Django에 내장된  보호 시스템의 실질적인 사용에 대해 알아봅니다.

평가

평가는 위에 나열된 가이드에 설명 된대로 장고(Django)를 사용하여 웹 사이트를 만드는 방법에 대한 이해도를 테스트합니다.

DIY Django 미니 블로그
이 모듈에서 배운 지식을 사용하여 자신 만의 블로그를 만드는 것으로 스스로를 평가해볼 수 있습니다.

문서 태그 및 공헌자

 이 페이지의 공헌자: seokhoonhong, byoung_hyun, ChanghwaLee
 최종 변경: seokhoonhong,