파이썬 웹 프레임웍 중 가장 널리 쓰이는 것.
유용한 패키지
South
http://south.aeracode.org/ DB 마이그레이션 도구.
south 앱에 설치. settings.py의 INSTALLED_APPS에 다음 추가.
'south',
south 테이블 생성. 아쉽지만 south 자체를 위한 테이블은 원래의 syncdb로 생성한다.
./manage.py syncdb
첫 마이그레이션 생성
./manage.py schemamigration 앱이름 --initial
south를 적용하려면 model 코드를 작성한 후 한 번도 syncdb를 하지 않은 상태거나, 혹은 syncdb를 하고 나서 model을 다시 변경하지 않은 상태여야 함.
./manage.py convert_to_south 앱이름
하고 나서 fake로 한 번 돌려주면 south로 마이그레이션이 다 된 상태로 간주된다.
./manage.py migrate 앱이름 --fake
여기까지 하면 south를 사용할 준비가 된 것이다. 그 후부터는 모델을 변경한 후 다음과 같이 실행하여 마이그레이션 코드를 자동으로 만든다.
./manage.py schemamigration 앱이름 --auto
그러면 migrations 디렉토리에 현재 모델과의 차이점만 반영하는 마이그레이션 코드가 생성된다. 이 마이그레이션 코드를 적용하려면 다음과 같이 실행한다.
./manage.py migrate 앱이
python-social-auth
소셜 로그인 라이브러리의 종결자. django-social-auth를 다른 웹 프레임워크도 지원하도록 확장한 것이다.
django-flash
Action을 수행한 후의 단발성 메세지를 보여줄 수 있다.
django_bash_completion
./manage.py를 실행할 때 명령어를 치기가 귀찮은데, bash completion을 사용하면 tab으로 자동완성할 수 있다.
http://code.djangoproject.com/svn/django/trunk/extras/django_bash_completion
위의 링크에서 스크립트를 다운 받아서 저장해두고, .bashrc나 .profile에서 스크립트를 source하면 된다.
. ~/dev/django_bash_completion
맥에서는 .profile에 넣으면 잘 된다.
django-extensions
./manage.py shell_plus
모델들을 미리 import 해줘서 편리하다.
JSONField
JSON으로 데이터를 읽고 쓸 때는 django-extensions의 JSONField
가 편리하다. 파이썬 dict 형태로 읽고 쓰며 DB에는 JSON 포맷으로 저장된다.
AutoOneToOneField
OneToOneField
를 만들어야 하는데, 없을 때는 자동으로 생성하게 하고 싶다면 django-annoying의 AutoOneToOneField
가 편리하다. 다만, south로 마이그레이션을 하려면 다음과 같은 코드를 추가해줘야 한다.
from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ["^annoying\.fields\.AutoOneToOneField"])
django-polymorphic
Django 모델의 다형성을 쉽게 쓸 수 있게 해준다.
서버 디플로이먼트
기본적으로 모든 wsgi 서버에 디플로이할 수 있다. uwsgi 추천.
테스트
Django 프로젝트에서 Selenium python 돌리기
관련 사이트
- https://www.djangopackages.com/ Django 관련 패키지를 모아둔 사이트
- https://www.facebook.com/groups/django/ 한국 Django 개발자 모임