Changes between Version 6 and Version 7 of DjangoDocumentKoreanTranslation/modpython


Ignore:
Timestamp:
03/07/09 05:38:37 (6 years ago)
Author:
daybreaker
Comment:

문단 정리, 한글 파일 경로 사용 시 mod_python/mod_wsgi 유의사항 추가 (Cleaned up heading and some paragphs, and added description for language environment variables on mod_python)

Legend:

Unmodified
Added
Removed
Modified
  • DjangoDocumentKoreanTranslation/modpython

    v6 v7  
    1717
    1818
    19 = 기본 설정 =
     19== 기본 설정 ==
    2020
    2121mod_python에서 장고를 설정하기 위해서, 먼저 mod_python 모듈이 활성화된
     
    3232}}}
    3333
    34 `DJANGO_SETTINGS_MODULE`에는 {{{mysite.settings}}}를 장고 프로젝트의 설정
    35 파일의 파이썬 경로로 다시 설정하시기 바랍니다.
    36 
    37 위 설정은, "장고에서는 mod_python 핸들러를 사용해서, '/mysite/' 아래 모든 URL에 대해서
    38 mod_python을 사용한다."는 설정입니다.
    39 
     34`DJANGO_SETTINGS_MODULE`에는 {{{mysite.settings}}}를 장고 프로젝트의 설정 파일의 파이썬 경로로 다시 설정하시기 바랍니다.
     35위 설정은, "장고에서는 mod_python 핸들러를 사용해서, '/mysite/' 아래 모든 URL에 대해서 mod_python을 사용한다."는 설정입니다.
    4036mod_python은 어떤 설정을 사용해야 하는지 {{{DJANGO_SETTINGS_MODULE}}}의 값으로 알수 있습니다.
    4137
    42 {{{<Directory>}}} 지시자가 아니라, {{{<Location>}}} 지시자가 사용되고 있는 것에
    43 주의하세요.
    44 
     38{{{<Directory>}}} 지시자가 아니라, {{{<Location>}}} 지시자가 사용되고 있는 것에 주의하세요.
    4539{{{<Directory>}}}는 파일시스템상의 위치를 가리키는데 반해, {{{<Location>}}}은 웹사이트의 URL에서의 위치를 가리킵니다. 여기서는 {{{<Directory>}}} 가 의미 없습니다.
    4640
    47 또, 만약 장고 프로젝트가 기본 {{{PYTHONPATH}}} 안에 없다면,
    48 프로젝트를 어디서 찾아야 하는지를 mod_python에게 알려줘야 합니다.
     41또, 만약 장고 프로젝트가 기본 {{{PYTHONPATH}}} 안에 없다면, 프로젝트를 어디서 찾아야 하는지를 mod_python에게 알려줘야 합니다.
    4942
    5043{{{
     
    5851}}}
    5952
    60 여기서 사용하는 {{{PythonPath}}} 값은 어플리케이션에서 import 하려고 하는
    61 모든 모듈들의 부모 디렉토리를 반드시 포함해야 합니다. 또한
    62 {{{DJANGO_SETTINGS_MODULE}}} 의 실제 경로도 포함해야 합니다.
     53여기서 사용하는 {{{PythonPath}}} 값은 어플리케이션에서 import 하려고 하는 모든 모듈들의 부모 디렉토리를 반드시 포함해야 합니다.
     54또한 {{{DJANGO_SETTINGS_MODULE}}} 의 실제 경로도 포함해야 합니다.
    6355이 점은 바로 파이썬을 대화형으로 사용할때 path를 설정하는 것과 똑같은 상황입니다.
    64 파이썬에서는 import 할때마다, import가 성공할 때까지
    65 {{{sys.path}}} 안의 모든 디렉토리를 처음부터 끝까지 차례로 시도해 봅니다.
     56파이썬에서는 import 할때마다, import가 성공할 때까지 {{{sys.path}}} 안의 모든 디렉토리를 처음부터 끝까지 차례로 시도해 봅니다.
    6657
    6758다음 예를 보면 확실해 집니다. 가령
     
    10596장고의 URLconf는 "/mysite/" 를 처리하지 않습니다.
    10697
    107 장고를 mod_python으로 실행할 때, 파이썬 코드를 변경할때마다 아파치를 재시작할 필요가 있습니다.
    108 
    109 = 아파치 하나로 장고 여러개 실행하기 =
     98장고를 mod_python으로 실행할 때, 파이썬 코드를 변경할때마다 아파치를 재시작(reload 또는 restart)할 필요가 있습니다.
     99
     100=== 한글 파일 경로를 사용할 경우 유의사항 ===
     101
     102(이 부분은 non-ascii 문자를 파일시스템에 사용하는 경우에만 해당합니다.)
     103
     104한글과 같은 유니코드 영역 문자들을 파일시스템에서 사용하려고 할 경우 다음 사항에 주의해야 합니다.
     105
     106 * Django 개발 서버로 실행할 때 : 해당 사용자 계정의 LANG 환경 변수가 올바르게 설정되었는지 확인 (보통 한국어의 경우 `ko_KR.UTF-8`)
     107 * Apache mod_python 또는 mod_wsgi 환경에서 실행할 때 : `/etc/apache2/envvars`에 다음과 같은 설정이 추가되어야 함
     108{{{
     109export LANG=ko_KR.UTF-8
     110export LC_ALL=ko_KR.UTF-8
     111}}}
     112
     113이렇게 해야만 Python의 os, os.path 모듈에서 유니코드 문자열로 된 한글 경로명을 올바로 처리할 수 있습니다.
     114
     115== 아파치 하나로 장고 여러개 실행하기 ==
    110116
    111117아파치 하나로 여러개의 장고를 실행 시킬 수 있습니다. 바로 VirtualHost를 사용하면
     
    146152각기 다른 두개의 {{{Location}}} 블럭 안에만 있으면, {{{PythonInterpreter}}}의 값은 전혀 문제되지 않습니다.
    147153
    148 = mod_python에서 개발 서버(developement server) 실행하기 =
     154== mod_python에서 개발 서버(developement server) 실행하기 ==
    149155
    150156만약 개발 서버(developement server)에서 mod_python을 사용한다면,
     
    166172}}}
    167173
    168 = 미디어 파일 처리하기 =
     174== 미디어 파일 처리하기 ==
    169175
    170176장고 자체는 고정된 파일들을 처리하지 않습니다; 장고는 웹 서버에게 넘깁니다.
     
    203209}}}
    204210
    205 = admin 파일들 처리하기 =
     211== admin 파일들 처리하기 ==
    206212
    207213장고 개발 서버는 자동으로 admin media 파일들을 처리하지만, 그 외에는
     
    217223    2. 또는, 아파치 document root 안에 admin media 파일들을 복사합니다.
    218224
    219 = mod_python에서 eggs 사용하기 =
     225== mod_python에서 eggs 사용하기 ==
    220226
    221227만약 [http://peak.telecommunity.com/DevCenter/PythonEggs Python egg]에서 장고를 설치했거나 장고 프로젝트에 egg를 사용 중이라면,
     
    246252
    247253
    248 = 에러 처리 =
     254== 에러 처리 ==
    249255
    250256아파치 mod_python을 사용할 때, 에러는 장고에서 잡힙니다 - 즉, 장고에서 발생하는 에러는
     
    256262이 에러메세지는 여러줄에 걸쳐 출력됩니다. (예, 이것은 보기 흉하고 읽기도 어렵습니다만, 이게 mod_python 이 처리하는 방식입니다.)
    257263
    258 = segment fault 가 났다면 =
     264=== segment fault 가 났다면 ===
    259265
    260266만약 아파치가 segment fault 에러를 낸다면, 예상되는 두가지 원인이 있습니다. 둘다 장고 자체의 문제가 아닙니다.
Back to Top