================= 더 읽을 거리 ================= :doc:`소개 자료 `\ 를 모두 읽고 Django를 사용하기로 하셨군요. 우리는 겉핡기를 했을 뿐입니다(사실, 그걸 다 읽었다고 해도 전체 문서의 십분의 일도 읽지 못한 셈입니다). 자 이제 무엇을 할까요? 지금까지 우리는 항상 직접 예제들을 작성하면서 배워왔습니다. 이제부터는 스스로 프로젝트를 할 수 있을 만큼 지식을 쌓아나가야 합니다. 더 새로운 방법들을 배우기 위해 다른 문서들을 살펴봅시다. 우리는 Django의 문서를 유용하면서도 가능한 읽기 쉽도록 만들기 위해 많은 노력을 기울였습니다. 이 문서의 나머지 부분은 어떻게 문서를 최대한 활용할 수 있는지를 설명합니다. (네, 이것은 문서에 대한 문서입니다. 읽는 방법에 대한 문서를 쓸 계획은 없으니 안심하세요.) 문서 찾기 ===================== Django에는 -- 거의 이십만 개의 단어로 이루어진 -- *많은* 문서가 있기 때문에 때로는 필요한 것을 찾기가 힘들 수도 있습니다. :ref:`search`\ 나 :ref:`genindex`\ 에서 시작하는 것도 좋은 방법입니다. 그냥 둘러보셔도 좋구요! 문서 구성 방식 ================================== Django의 주요 문서는 필요에 따라 몇몇 "덩어리"로 나뉘어져 있습니다. * :doc:`소개 자료 `\ 는 Django 또는 일반적인 웹 개발을 처음 접하는 사람들을 위해 만들었습니다. 깊은 내용을 다루지는 않지만, 그 대신에 Django의 "느낌"이 나게끔 개발할 수 있도록 높은 수준에서의 개요를 제공합니다. * 한편 :doc:`주제별 안내서 `\ 는, Django의 각 부분을 심도있게 탐구합니다. Django의 :doc:`모델 시스템 `, :doc:`템플릿 엔진 `, :doc:`폼 프레임워크 ` 등 각각의 주제에 대한 완전한 안내서입니다. 여러분들은 아마 대부분의 시간을 이 문서들에서 보내고자 할 것입니다. 만약 여러분이 이 안내서 이용해 프로젝트를 진행한다면 Django 대해 알아야 할 거의 모든 것이 나와 있습니다. * 웹 개발은 깊이 있지 않지만 대개 광범위합니다 -- 문제는 많은 영역에 놓여있습니다. 우리는 :doc:`하우투 가이드 `\ 를 "~을 어떻게 할까?" 하는 일반적인 질문의 응답 형식으로 글을 썼습니다. 여러분은 :doc:`Django에서 PDF 생성하기 `\ 와 :doc:`맞춤 템플릿 태그 작성법 ` 등의 정보를 찾아볼 수 있을 것입니다. 일반적인 질문에 대한 답변도 :doc:`FAQ `\ 에서 찾을 수 있을 것입니다. * 이 안내서나 하우투는 Django에서 사용 가능한 모든 클래스, 함수, 메소드를 하나하나 다루지는 않습니다. 그것은 당신이 Django를 배우려고 할때 많은 부분을 차지할 것입니다. 대신, 각 클래스, 함수, 메서드 및 모듈에 대한 자세한 내용은 :doc:`참조 `\ 에 있습니다. 그곳에서 특정한 기능에 대한 세부 정보를 찾을 수 있습니다. * 마지막으로, 일반적으로 대부분의 개발자와 관련이 없는 "특수한" 문서들이 존재합니다. :doc:`릴리즈 노트 `, :doc:`쓸모 없는 기능에 대한 문서 `, :doc:`내부 문서 `와 같이 Django 자체에 코드를 추가하려는 사람들에게 필요한 문서도 있고, :doc:`특정한 범주에 묶기 어려운 기타 문서들 `\ 도 있습니다. 문서는 어떻게 업데이트되는가 ============================ Django의 코드 기반이 하루하루 개발되고 개선되는 것처럼, 문서도 지속적으로 개선이 이루어집니다. 우리는 다음과 같은 몇 가지의 이유로 문서를 개선해나갑니다. * 문법 오류 또는 오탈자와 같은 내용상의 수정을 위해. * 보충이 필요한 기존 섹션에 정보 및 예제를 추가하기 위해. * 아직 문서화되지 않은 Django 기능을 문서화하기 위해.(목록이 점점 줄어들고 있기는 하지만 여전히 남아있습니다.) * 새로운 기능이 추가되거나 Django API들 혹은 행위가 바뀌었을때. Django의 문서는 코드와 동일한 소스 제어 시스템에 보관합니다. 그것은 서브버전 저장소의 `django/trunk/docs`_ 디렉토리에 있습니다. 각 온라인 문서는 저장소에 별도로 존재하는 텍스트 파일입니다. .. _django/trunk/docs: https://code.djangoproject.com/browser/django/trunk/docs 구할 수 있는 곳 =============== Django 문서는 다음과 같은 다양한 방법을 통해 구해서 읽을 수 있습니다. 웹에서 ---------- Django 문서의 가장 최신 버전은 http://docs.djangoproject.com/en/dev/\ 에 있습니다. 이런 HTML 페이지는 소스 컨트롤 내 텍스트 파일에서 자동으로 생성됩니다. 이는 Django의 "최신 내용과 완벽한 내용"을 반영한다는 의미입니다 -- 그것은 가장 최근의 수정이나 추가사항을 포함하며, Django 개발 버전 사용자를 위한 최신 Django 기능에 대해 논의합니다. (아래의 "버전 간의 차이점" 참조.) 우리는 당신이 '티켓 시스템'\ 에서 변경, 수정 및 제안을 제출하여 문서를 개선하는 도움되는 것을 권장합니다. Django 개발자들이 적극적으로 티켓 시스템을 모니터링하고 모든 사람에 대한 문서를 개선하기 위해 당신의 피드백을 사용합니다. 그러나 그 티켓은 광범위한 기술 지원 질문보다는 명시적으로 문서와 관련있을 것임에 주의하세요. 당신은 특정 Django 설정에 도움이 필요한 경우 티켓보다는 `django-users 메일링 리스트`_ 또는 `#django IRC 채널`_\ 을 활용하시기 바랍니다. .. _티켓 시스템: https://code.djangoproject.com/simpleticket?component=Documentation .. _django-users 메일링 리스트: http://groups.google.com/group/django-users .. _#django IRC 채널: irc://irc.freenode.net/django 일반적인 텍스트 ------------- 오프라인으로 읽거나 좀 더 편하게 읽기 위해 Django 문서를 일반적인 텍스트 문서로도 제공합니다. 여러분이 Django의 공식 릴리즈를 사용하는 경우, 코드에 포함된 ``docs/`` 디렉토리의 압축된 패키지(tarball)를 참조하세요. 해당 릴리즈의 모든 문서를 포함하고 있습니다. 당신이 Django의 개발 버전을 사용한다면(즉, 서브버전 "trunk"), ``docs/`` 디렉토리에 모든 문서가 있습니다. 당신은 최신의 변경 사항을 얻기 위해 ``svn update`` 를 할수 있고 마찬가지로 파이썬 코드에서 ``svn update`` 할 수 있습니다. 당신은 이 쉘 명령을 사용하여 서브버전으로 부터 최신의 Django 문서를 확인할 수 있습니다. .. code-block:: bash $ svn co https://code.djangoproject.com/svn/django/trunk/docs/ django_docs 텍스트 문서를 활용하는 낮은 기술은 모든 문서에서 구문 검색을 위해 유닉스의 ``grep`` 유틸리티를 사용하는 것입니다. 예를 들어, 이것은 당신에게 어떤 Django 문서에서 구문 "MAX_LENGTH"의 각 언급을 보여줍니다. .. code-block:: bash $ grep -r max_length /path/to/django/docs/ 로컬 HTML로 ---------------- 당신은 몇가지 간단한 단계를 거쳐 HTML 문서를 로컬에 가져올 수 있습니다. * Django 설명서는 HTML로 일반 텍스트로 변환하는 Sphinx__\ 라는 시스템을 사용합니다. 당신은 Sphinx 웹 사이트에서 또는 ``pip``\ 으로 패키지를 다운로드하고 설치하여 Sphinx를 설치해야 합니다. .. code-block:: bash $ sudo pip install Sphinx 그후, HTML에서 문서를 바꾸기 위한 포함된 ``Makefile``\ 을 사용하면 됩니다. .. code-block:: bash $ cd path/to/django/docs $ make html 이것을 위해 `GNU Make`__\ 를 설치할 필요가 있습니다. 만약 당신이 윈도우즈상에 있다면 포함된 배치(batch) 파일을 사용할 수 있습니다. .. code-block:: bat cd path\to\django\docs make.bat html * HTML 문서는 ``docs/_build/html``\ 에 위치하게 될 것입니다. .. note:: Django 문서의 생성은 Sphinx 버전 0.6 이상에서 작동하기는 하지만, 우리는 Sphinx 1.0.2 이상 버전으로 곧장 가는 것을 권장합니다. __ http://sphinx.pocoo.org/ __ http://www.gnu.org/software/make/ 버전 간의 차이점 ============================ 앞서 이야기 했듯이, 우리의 서브버전 저장소의 텍스트 문서는 "최신 그리고 최고" 변경 및 추가를 포함하고 있습니다. 이러한 변경은 가끔 Django 개발 버전에 새로운 기능 추가의 문서를 포함합니다. -- Django의 서브버전 ("trunk") 버전. 그러한 연유로, 다양한 버전의 프레임워크를 위해 올바른 문서를 지키는 일에 대한 우리의 정책을 짚고 넘어가도록 하겠습니다. 우리의 정책은 다음과 같습니다. * djangoproject.com에 대한 주요 문서의 서브버전에서 최신 문서의 HTML 버전입니다. 이 문서는 항상 최신 공식 Django 릴리스와 어떤 기능의 최신 릴리스 *이후* 프레임워크에 추가/변경 사항을 일치시킵니다. * 우리는 Django의 개발 버전에 기능을 추가하기 때문에, 우리는 같은 서브버전에 커밋 트랜잭션의 문서를 업데이트하려고 합니다. * 문서의 기능 변경 및 추가 사항을 구분하기 위해 "New in version X.Y"와 같은 구문를 사용하며, X.Y는 다음 릴리즈 버전이 됩니다(즉, 현재 개발 중입니다). * 특정 Django 릴리즈 문서는 버전이 공식적으로 릴리즈 되고 나면 동결됩니다. 이 릴리스 시점의 문서의 스냅샷이 남습니다. 우리는 소급하여 보안 업데이트하거나 다른 소급 변경의 경우에는 이 규칙에 대한 예외를 적용할 것입니다. 일단 문서가 동결되고, 우리는 "이 문서는 Django 버전 XXX에 의해 동결되었다"와 해당 문서의 현재 버전에 링크 각 동결 문서의 상단에 메모를 추가합니다. * `메인 문서 웹 페이지`_\ 는 모든 이전 버전의 문서에 대한 링크를 포함합니다. .. _메인 문서 웹 페이지: http://docs.djangoproject.com/en/dev/