<p> 파이썬 웹 프레임웍 중 가장 널리 쓰이는 것.</p> <h3> djangobp - Django BoilerPlate (or Best Practice)</h3> <p> </p> <h3> Nashvegas - 마이그레이션</h3> <h3> <a href="https://github.com/paltman/nashvegas">https://github.com/paltman/nashvegas</a></h3> <pre> <code>./manage.py upgradedb</code></pre> <h3> South - 마이그레이션</h3> <p> <a href="http://south.aeracode.org/">http://south.aeracode.org/</a></p> <p> 적용 방법 (0.73 기준)</p> <p> south 앱에 설치. settings.py의 INSTALLED_APPS에 다음 추가.</p> <pre> 'south',</pre> <p> south 테이블 생성. 아쉽지만 south 자체를 위한 테이블은 원래의 syncdb로 생성한다.</p> <pre class="p1"> ./manage.py syncdb</pre> <p> 첫 마이그레이션 생성</p> <pre> ./manage.py schemamigration 앱이름 --initial</pre> <p> <em>south를 적용하려면 model 코드를 작성한 후 한 번도 syncdb를 하지 않은 상태거나, 혹은 syncdb를 하고 나서 model을 다시 변경하지 않은 상태여야 함. </em></p> <div> 위의 명령을 실행하면 앱 디렉토리 내에 migrations가 생기고 0001_initial.py에 초기 마이그레이션 코드가 생성된다. 만약 모델 코드가 DB 테이블과 싱크가 되어 있는 상태라면 다음 명령을 실행해서 초기 마이그레이션이 된 상태로 만든다.</div> <pre> ./manage.py convert_to_south 앱이름</pre> <p> 다만, 이 부분이 잘 안되는 경우가 있는데, 그럴 때는 fake로 한 번 돌려본다.</p> <pre> ./manage.py migrate 앱이름 --fake</pre> <p> --fake는 가짜로 한 번 실행하는 명령인데, 이상하게도 fake로 돌리고 나서 진짜로 실행하면 제대로 되곤 한다.</p> <p> 여기까지 하면 south를 사용할 준비가 된 것이다. 그 후부터는 모델을 변경한 후 다음과 같이 실행하여 마이그레이션 코드를 자동으로 만든다.</p> <pre> ./manage.py schemamigration 앱이름 --auto</pre> <p> 그러면 migrations 디렉토리에 현재 모델과의 차이점만 반영하는 마이그레이션 코드가 생성된다. 이 마이그레이션 코드를 적용하려면 다음과 같이 실행한다.</p> <pre> ./manage.py migrate 앱이름</pre> <h3> django_bash_completion</h3> <p> ./manage.py를 실행할 때 명령어를 치기가 귀찮은데, bash completion을 사용하면 tab으로 자동완성할 수 있다.</p> <p> <a href="http://code.djangoproject.com/svn/django/trunk/extras/django_bash_completion">http://code.djangoproject.com/svn/django/trunk/extras/django_bash_completion</a></p> <p> 위의 링크에서 스크립트를 다운 받아서 저장해두고, .bashrc나 .profile에서 스크립트를 source하면 된다.</p> <pre> . ~/dev/django_bash_completion</pre> <p> 맥에서는 .profile에 넣으면 잘 된다.</p> <p> </p> <h3> 기타</h3> <p> </p> <p style="border-style: initial; border-color: initial; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; "> <a href="/Django에서 OAuth로 API 제공하기" style="border-style: initial; border-color: initial; font-size: 13px; ">Django에서 OAuth로 API 제공하기</a></p> <p style="border-style: initial; border-color: initial; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; "> <a href="Django%20%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%97%90%EC%84%9C%20Selenium%20python%20%EB%8F%8C%EB%A6%AC%EA%B8%B0" style="border-style: initial; border-color: initial; font-size: 13px; ">Django 프로젝트에서 Selenium python 돌리기</a></p> <div> </div>