Django 웹 프레임워크 (파이썬)

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

Djang는 파이썬으로 구성된 강력하고 유명한 서버측 웹 프레임워크이다. 이 수업에서는 Django가 왜 웹 서버 프레임워크에서 유명해졌고, 개발환경을 구축하고, 이를 통해 웹 애플리케이션을 만드는 법을 배운다.

알아야 할 것

수업시작전부터 Django에 대해 몰라도 된다. 하지만, Server-side website programming first steps 수업을 보면서 서버측 웹 프로그래밍과 웹 프레임워크에 대해서는 알아야 한다.

기본적인 프로그래밍 지식과 Python에 대한 것은 필요하지만, 그렇다고 아주 중요하지는 않을 것이다.

Note: Python is one of the easiest programming languages for novices to read and understand. That said, if you want to understand this module better then there are numerous free books and tutorials available on the Internet (new programmers might want to check out the Python for Non Programmers page on the python.org wiki).

Guides

Django introduction
첫번재 Django 수업에서는 "Django란?" 물음에 대답하면서 웹 프레임워크의 전반적인 부분에 대해 살펴본다. 앞으로 자세히 살펴볼 자세한 기능을 포함한 Django의 구성요소를 살펴볼 것이다. 또한 실제 동작과 구성을 위해 Django 에플리케이션의 주된 구성 요소를 소개한다.
Setting up a Django development environment
이제 Django가 무슨 역할을 하는지 알기 때문에, Windows, Linux(Ubuntu), Mac OS X 운영체제에서 Django 개발 환경을 구성하고 테스트 할 것이다.(OS에 관계없이, 이번수업에서는 개발 필요한 부분을 다룬다)
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의 빌트인 보호 시스템의 실질적인 사용에 대해 알아본다.

Assessments

The following assessment will test your understanding of how to create a website using Django, as described in the guides listed above.

DIY Django mini blog
In this assessment you'll use some of the knowledge you've learned from this module to create your own blog.

문서 태그 및 공헌자

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