더 읽을 거리

소개 자료를 모두 읽고 Django를 사용하기로 하셨군요. 우리는 겉핡기를 했을 뿐입니다(사실, 그걸 다 읽었다고 해도 전체 문서의 십분의 일도 읽지 못한 셈입니다).

자 이제 무엇을 할까요?

지금까지 우리는 항상 직접 예제들을 작성하면서 배워왔습니다. 이제부터는 스스로 프로젝트를 할 수 있을 만큼 지식을 쌓아나가야 합니다. 더 새로운 방법들을 배우기 위해 다른 문서들을 살펴봅시다.

우리는 Django의 문서를 유용하면서도 가능한 읽기 쉽도록 만들기 위해 많은 노력을 기울였습니다. 이 문서의 나머지 부분은 어떻게 문서를 최대한 활용할 수 있는지를 설명합니다.

(네, 이것은 문서에 대한 문서입니다. 읽는 방법에 대한 문서를 쓸 계획은 없으니 안심하세요.)

문서 찾기

Django에는 – 거의 이십만 개의 단어로 이루어진 – 많은 문서가 있기 때문에 때로는 필요한 것을 찾기가 힘들 수도 있습니다. Search PageIndex에서 시작하는 것도 좋은 방법입니다.

그냥 둘러보셔도 좋구요!

문서 구성 방식

Django의 주요 문서는 필요에 따라 몇몇 “덩어리”로 나뉘어져 있습니다.

  • 소개 자료는 Django 또는 일반적인 웹 개발을 처음 접하는 사람들을 위해 만들었습니다. 깊은 내용을 다루지는 않지만, 그 대신에 Django의 “느낌”이 나게끔 개발할 수 있도록 높은 수준에서의 개요를 제공합니다.

  • 한편 주제별 안내서는, Django의 각 부분을 심도있게 탐구합니다. Django의 모델 시스템, 템플릿 엔진, 폼 프레임워크 등 각각의 주제에 대한 완전한 안내서입니다.

    여러분들은 아마 대부분의 시간을 이 문서들에서 보내고자 할 것입니다. 만약 여러분이 이 안내서 이용해 프로젝트를 진행한다면 Django 대해 알아야 할 거의 모든 것이 나와 있습니다.

  • 웹 개발은 깊이 있지 않지만 대개 광범위합니다 – 문제는 많은 영역에 놓여있습니다. 우리는 하우투 가이드를 “~을 어떻게 할까?” 하는 일반적인 질문의 응답 형식으로 글을 썼습니다. 여러분은 Django에서 PDF 생성하기맞춤 템플릿 태그 작성법 등의 정보를 찾아볼 수 있을 것입니다.

    일반적인 질문에 대한 답변도 FAQ에서 찾을 수 있을 것입니다.

  • 이 안내서나 하우투는 Django에서 사용 가능한 모든 클래스, 함수, 메소드를 하나하나 다루지는 않습니다. 그것은 당신이 Django를 배우려고 할때 많은 부분을 차지할 것입니다. 대신, 각 클래스, 함수, 메서드 및 모듈에 대한 자세한 내용은 참조에 있습니다. 그곳에서 특정한 기능에 대한 세부 정보를 찾을 수 있습니다.

  • 마지막으로, 일반적으로 대부분의 개발자와 관련이 없는 “특수한” 문서들이 존재합니다. 릴리즈 노트, 쓸모 없는 기능에 대한 문서, 내부 문서도 있습니다.

문서는 어떻게 업데이트되는가

Django의 코드 기반이 하루하루 개발되고 개선되는 것처럼, 문서도 지속적으로 개선이 이루어집니다. 우리는 다음과 같은 몇 가지의 이유로 문서를 개선해나갑니다.

  • 문법 오류 또는 오탈자와 같은 내용상의 수정을 위해.
  • 보충이 필요한 기존 섹션에 정보 및 예제를 추가하기 위해.
  • 아직 문서화되지 않은 Django 기능을 문서화하기 위해.(목록이 점점 줄어들고 있기는 하지만 여전히 남아있습니다.)
  • 새로운 기능이 추가되거나 Django API들 혹은 행위가 바뀌었을때.

Django의 문서는 코드와 동일한 소스 제어 시스템에 보관합니다. 그것은 서브버전 저장소의 django/trunk/docs 디렉토리에 있습니다. 각 온라인 문서는 저장소에 별도로 존재하는 텍스트 파일입니다.

구할 수 있는 곳

Django 문서는 다음과 같은 다양한 방법을 통해 구해서 읽을 수 있습니다.

웹에서

Django 문서의 가장 최신 버전은 http://docs.djangoproject.com/en/dev/에 있습니다. 이런 HTML 페이지는 소스 컨트롤 내 텍스트 파일에서 자동으로 생성됩니다. 이는 Django의 “최신 내용과 완벽한 내용”을 반영한다는 의미입니다 – 그것은 가장 최근의 수정이나 추가사항을 포함하며, Django 개발 버전 사용자를 위한 최신 Django 기능에 대해 논의합니다. (아래의 “버전 간의 차이점” 참조.)

우리는 당신이 ‘티켓 시스템’에서 변경, 수정 및 제안을 제출하여 문서를 개선하는 도움되는 것을 권장합니다. Django 개발자들이 적극적으로 티켓 시스템을 모니터링하고 모든 사람에 대한 문서를 개선하기 위해 당신의 피드백을 사용합니다.

그러나 그 티켓은 광범위한 기술 지원 질문보다는 명시적으로 문서와 관련있을 것임에 주의하세요. 당신은 특정 Django 설정에 도움이 필요한 경우 티켓보다는 django-users 메일링 리스트 또는 #django IRC 채널을 활용하시기 바랍니다.

일반적인 텍스트

오프라인으로 읽거나 좀 더 편하게 읽기 위해 Django 문서를 일반적인 텍스트 문서로도 제공합니다.

여러분이 Django의 공식 릴리즈를 사용하는 경우, 코드에 포함된 docs/ 디렉토리의 압축된 패키지(tarball)를 참조하세요. 해당 릴리즈의 모든 문서를 포함하고 있습니다.

당신이 Django의 개발 버전을 사용한다면(즉, 서브버전 “trunk”), docs/ 디렉토리에 모든 문서가 있습니다. 당신은 최신의 변경 사항을 얻기 위해 svn update 를 할수 있고 마찬가지로 파이썬 코드에서 svn update 할 수 있습니다.

당신은 이 쉘 명령을 사용하여 서브버전으로 부터 최신의 Django 문서를 확인할 수 있습니다.

$ svn co https://code.djangoproject.com/svn/django/trunk/docs/ django_docs

텍스트 문서를 활용하는 낮은 기술은 모든 문서에서 구문 검색을 위해 유닉스의 grep 유틸리티를 사용하는 것입니다. 예를 들어, 이것은 당신에게 어떤 Django 문서에서 구문 “MAX_LENGTH”의 각 언급을 보여줍니다.

$ grep -r max_length /path/to/django/docs/

로컬 HTML로

당신은 몇가지 간단한 단계를 거쳐 HTML 문서를 로컬에 가져올 수 있습니다.

  • Django 설명서는 HTML로 일반 텍스트로 변환하는 Sphinx라는 시스템을 사용합니다. 당신은 Sphinx 웹 사이트에서 또는 pip으로 패키지를 다운로드하고 설치하여 Sphinx를 설치해야 합니다.

    $ sudo pip install Sphinx
    

그후, HTML에서 문서를 바꾸기 위한 포함된 Makefile을 사용하면 됩니다.

$ cd path/to/django/docs
$ make html

이것을 위해 GNU Make를 설치할 필요가 있습니다.

만약 당신이 윈도우즈상에 있다면 포함된 배치(batch) 파일을 사용할 수 있습니다.

cd path\to\django\docs
make.bat html
  • HTML 문서는 docs/_build/html에 위치하게 될 것입니다.

Note

Django 문서의 생성은 Sphinx 버전 0.6 이상에서 작동하기는 하지만, 우리는 Sphinx 1.0.2 이상 버전으로 곧장 가는 것을 권장합니다.

버전 간의 차이점

앞서 이야기 했듯이, 우리의 서브버전 저장소의 텍스트 문서는 “최신 그리고 최고” 변경 및 추가를 포함하고 있습니다. 이러한 변경은 가끔 Django 개발 버전에 새로운 기능 추가의 문서를 포함합니다. – Django의 서브버전 (“trunk”) 버전. 그러한 연유로, 다양한 버전의 프레임워크를 위해 올바른 문서를 지키는 일에 대한 우리의 정책을 짚고 넘어가도록 하겠습니다.

우리의 정책은 다음과 같습니다.

  • djangoproject.com에 대한 주요 문서의 서브버전에서 최신 문서의 HTML 버전입니다. 이 문서는 항상 최신 공식 Django 릴리스와 어떤 기능의 최신 릴리스 이후 프레임워크에 추가/변경 사항을 일치시킵니다.
  • 우리는 Django의 개발 버전에 기능을 추가하기 때문에, 우리는 같은 서브버전에 커밋 트랜잭션의 문서를 업데이트하려고 합니다.
  • 문서의 기능 변경 및 추가 사항을 구분하기 위해 “New in version X.Y”와 같은 구문를 사용하며, X.Y는 다음 릴리즈 버전이 됩니다(즉, 현재 개발 중입니다).
  • 특정 Django 릴리즈 문서는 버전이 공식적으로 릴리즈 되고 나면 동결됩니다. 이 릴리스 시점의 문서의 스냅샷이 남습니다. 우리는 소급하여 보안 업데이트하거나 다른 소급 변경의 경우에는 이 규칙에 대한 예외를 적용할 것입니다. 일단 문서가 동결되고, 우리는 “이 문서는 Django 버전 XXX에 의해 동결되었다”와 해당 문서의 현재 버전에 링크 각 동결 문서의 상단에 메모를 추가합니다.
  • 메인 문서 웹 페이지는 모든 이전 버전의 문서에 대한 링크를 포함합니다.