django - 해당되는 글 4건
어제 (2011/10/26) 개발용 Macbook-Air를 Lion으로 업데이트 했다.
뭐, 여러가지 향상된 UX라던가 iOS와 동질감을 느낄만한 요소들이 많이 생겼지만,
내게 그게 중요한 건 아니었고... ㅋ

문제는 현재 진행 중인 프로젝트와 관련하여 Python 환경이 전부 초기화 되었다는 것이다.
업데이트 된  Lion에는 Python 2.5/2.6/2.7이 설치되어 있었고 기본 버전은 2.5로 되어있었다. 
개인적으로 선호하는 버전은 2.6 인데...

구글링 등을 이용해 찾은 버전 변경은 아무리 해도 먹질 않았다.
다들 Lion에서도 된다고 써있었는데 왜 내겐 안되는지...
취향 상 root 권한으로 시스템에 손대는 것은 좋아하지 않지만,
이번은 어쩔수 없었다.

다음과 같은 방법으로 기본 Python 버전을 2.6으로 변경할 수 있다.

$ cd /opt/local/bin
$ sudo rm python
$ sudo ln -s /opt/local/bin/python2.6 python
$ sudo rm python-config
$ sudo ln -s /opt/local/bin/python2.6-config python-config
$ sudo rm pythonw
$ sudo ln -s /opt/local/bin/pythonw2.6 pythonw

여기서 문제가 한가지 더 발생 했는데,
Python package가 설치되는 site-packages 폴더와
Aptana가 기본으로 인식하고 읽어들이는 site-packages 폴더의  위치가 다르다.
아... 거지같아...
다음과 같이 문제를 해결했다.

$ cd /Library/Python/2.6
$ sudo rm -rf site-packages
$ sudo ln -s /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/ site-packages

이제 모든 것이 제대로 동작한다.
 
|
여기를 참고하시라.
결과물 괜찮게 나옴... 
|
django에서 syncdb를 통해 테이블을 생성할 경우
테이블 이름은 '{appname}_{classname}'으로 지정된다.

이와 같은 경우 몇 가지 문제 케이스와 직면할 수 있는데,
1. legacy system에 django를 적용해야 할 경우 기존 database table들의 변경 없이 사용해야 한다.
2. 다양한 시스템(PHP, ASP, JSP, ROR, Etc.)이 하나의 database에 접근할 때,
    django의 naming rule을 강제할 수 없다.
위의 두 가지가 대표적이다. 

때문에, django에서는 table 명을 다음과 같이 강제 지정할 수 있다.

class Sessions(models.Model): 
    {... some fields}
    class Meta:
        db_table = u'sessions' 

위와 같이 지정하면 django는 database에 '{appname}_sessions'가 아닌 'sessions'로 생성 및 접근하게 된다.

'django' 카테고리의 다른 글

database에서 models.py 추출하기  (0) 2011.06.09
aptana에서 django 프로젝트 설정하기  (0) 2011.05.31
|
최신 버전의 Aptana에는 PyDev가 기본 설치되어 배포되며, 
Django 프로젝트 역시 함께 지원한다.

Aptana에서 Django 프로젝트를 개발하고 싶다면,
아래의 방법을 따르면 된다.

1. File → New → Project
2. [Select Wizard] Pydev → Pydev Django Project → Next
3. [Pydev Django Project] Project Name: mytest, Grammar Version: 2.6 → Next
4. [Reference Page] Next
5. [Django Settings] Finish 

6. Run → Run Configurations
7. Pydev Dajngo → New
8. [Main]
    Name: mytest,
    Project: mytest
    Main Module: ${workspace_loc:mytest/src/mytest/manage.py} 
9. [Arguments]
    Program Arguments:
        runserver
        0.0.0.0:8000
        --noreload 
 10. Apply → Run

위와 같이 하면 디버그 서버가 동작하는 것을 볼 수 있으며,
콘솔창에 디버그 정보가 보여진다.

브라우저에 http://127.0.0.1:8000/ 주소를 치면
Django 프로젝트가 성공적으로 로드 되었음을 확인할 수 있다.
 

'django' 카테고리의 다른 글

database에서 models.py 추출하기  (0) 2011.06.09
django에서 database table 이름 수동으로 지정하기  (0) 2011.06.09
|

ghilbut's Blog is powered by Daum & tistory