2012. 3. 30. 10:56

[02] django 1.4 설치와 project 생성하기

원문 : http://www.djangobook.com/en/2.0/chapter02/ 참고

django는 python 2.x (2.3 ~)에서 동작합니다.
되도록 높은 버전의 python으로 설치하도록 합니다.

django는 특히 google app engine과도 연결되는데, GAE가 안정적으로 지원하는 2.5.x를 사용하도록 합니다.
python 2.5.6 혹은 2.5.4를 설치하면 적당하리라 봅니다.
일단 현재는 2.5.4를 선택하고 진행하도록 하겠습니다.
물론 되도록 2.5.x 이상으로 해야 기본 sqlite가 설치되어 추가 설치없이 sqlite를 연동할 수 있습니다.
(sqlite는 그 특징상 daemon 없이 돌 수 있기 때문에, 개발시 상당한 도움을 줍니다.

ps. 최근의 django는 python 2.6 이상을 요구합니다. 아래의 설치가 진행되지 않는다면,
최신의 python 2.x를 설치하시기 바랍니다.

(django framework 자체가 os 의존성이 없는 것으로 보이므로, 일단 window에서 설치/개발하도록 합니다.
같은 code를 나중에 linux/unix로 적용해도 문제는 없으리라 봅니다.
설치와 관련하여, 필요한 경우, linux/unix에 대한 설명도 같이 기술하였습니다.
물론, django framework에서 os 의존적인 systemcall등은 os와 불리되리라 봅니다.
허나, django 자체내에서는 그렇진 않아 보입니다.)


와 같이 C:\python25에 설치합니다.

그리고 내컴퓨터->속성->고급->환경 변수를 들어가,

Path 항목에 ;C:\Python25를 추가합니다.

그럼, cmd.exe에서 python을 치면 다음과 같이 실행됩니다.

C:\>python
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

그다음 django를 설치합니다.
현재 가장 최신의 official 버전은 1.4로, 이곳을 통해 다운로드 합니다.
tar와 gz를 7zip등으로 풀어서 C:\Django-1.4에 복사합니다.

그리고, cmd.exe에서,

C:\>cd Django-1.4

C:\Django-1.4>

와 같이 해당 경로로 들어갑니다.

그리고, python setup.py install 하면 설치가 진행됩니다.

...
copying django\contrib\sites\locale\zh_TW\LC_MESSAGES\django.po -> C:\Python25\L
ib\site-packages\django\contrib\sites\locale\zh_TW\LC_MESSAGES
running install_egg_info
Writing C:\Python25\Lib\site-packages\Django-1.4-py2.5.egg-info

C:\Django-1.4>


여기까지 왔다면 C:\Django-1.4는 더이상 필요없으니 삭제해도 됩니다.
C:\>python
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(1, 4, 0, 'final', 0)
>>>
와 같이 django 1.4가 설치됨을 확인할 수 있습니다.

참고로 설치후 C:\Python25 경로의 크기가 약 27.8MB 정도 늘어납니다.

이제 django project를 만들어 보도록 합니다.

아래 부분은 linux/unix server에서 적용할때 해당되는 내용으로 참고하시기 바랍니다.
django는 자체 웹서버를 가동시킬 수 있습니다. 물론 -개발용-입니다.
그래서 개발 이후 deploy할때등은 web server(apache나 ngnix등...)로 연동하게 됩니다.

보통 /var/www와 같은 http root document directory에 php 소스 코드등이 들어가게 되는데,
django는 특징상 해당 directory 밖에 있어도 가능합니다. 물론 내부에 있어도 무방하나,
굳이 django의 source 코드까지 외부에 노출할 필요가 없기 때문에,
예를 들어 /home/webuser/djangoroot 와 같이 임의의 계정 하부로 두는 것을 보안상 추천합니다. 

만일 django-admin.py startproject 했을때 "permission denied"가 발생했다면,
django-admin.py가 있는 경로(예, /usr/local/bin)에 들어가 chmod +x django-admin.py 하시기 바랍니다.

C:\>mkdir mydjango

C:\>cd mydjango

C:\mydjango>django-admin.py startproject mysite
'django-admin.py'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
배치 파일이 아닙니다.

C:\mydjango>

와 같이 django-admin.py가 동작하지 않습니다.

이때는, ;C:\Python25\Lib\site-packages\django\bin경로를 Path에 추가하면 됩니다. 
그럼 아래와 같이 됩니다.

C:\>cd mydjango

C:\mydjango>django-admin.py startproject mysite

C:\mydjango>

와 같이 성공되며,




와 같이 __init__.py / manage.py / settings.py / urls.py / wsgi.py 와 같이 5개의 python 파일이 생성됩니다.

만일 linux/unix환경이라면,
sudo ln -s /......./djagno-admin.py /usr/local/bin/django-admin.py
와 같이 django-admin.py 경로에 대한 simbolic link로 해결할 수 있습니다.

C:\mydjango\mysite>python manage.py runserver
Validating models...

0 errors found
Django version 1.4, using settings 'mysite.settings'
Development server is running at
http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

와 같이 django 웹서버로 테스트 할 수 있습니다.



와 같이 웹브라우징을 통해 테스트할 수 있습니다.

이러한 django의 내장 웹서버는, 관련 소스 코드가 수정되면 자동으로 reload하게 되므로,
개발시 큰 도움을 주게 됩니다.

'django > the django book study' 카테고리의 다른 글

[05] django의 model  (8) 2012.04.12
[04] django의 template  (14) 2012.04.05
[03] django 1.4의 view와 urlconfs  (5) 2012.04.04
[01] django 소개  (1) 2012.03.28
[00] Chapter 0  (0) 2012.03.28