2009-11-23 3 views
2

명령 줄에서 장고 디버깅을하고 있습니다. django_extensions으로 작업하고 있는데 IPython이 설치되어 있고 가능하면 쉘에서 많은 정보를 추출 할 수 있기를 바랍니다. 이 작업을 가장 효율적으로 어떻게 수행 할 수 있습니까? 에 대해 어떻게명령 줄에서 Django 디버깅

답변

2

Geo manage.py shell에 의해 언급 된 바와 같이 django_extensions이 이미 설치되어 있으므로 Carl이 제안한 manage.py shell_plus은 훨씬 더 좋습니다 ... 많은 타이핑을 절약 할 수 있습니다.

그러나 다소 덜 일반적 인 세 번째 제안으로 django-viewtools을 확인해 볼 수도 있습니다. 개인적으로 shell_plus를 사용하는 경향이 있지만 이것은 유용 할 수 있습니다.

+0

viewtools 링크를 제공해 주셔서 감사합니다 ... 나는 곧 그것을 점검 할 것입니다. 특히 제 질문을 읽었을 때 최고의 대답입니다. 고마워요. – chiggsy

1

: 당신이 django_extensions 설치 한 경우

python manage.py shell 

더 많은 정보 here

+0

예, docs에서 알 수 있습니다. 이미 장고 확장을 사용하고 있기 때문에 shell_plus와 함께 갈 것입니다. – chiggsy

2

사용

python manage.py shell_plus 

모델 클래스의 모든 자동으로 사전로드를 얻을 수 있습니다.

+0

Shell_plus는 훌륭합니다. 또한 iPython을 체크 아웃해야합니다. 쉘을 사용할 때 많은 유용한 기능을 추가합니다 (예를 들어, 데이터 사전 대신 '예쁜'탭으로 읽을 수있는 방식으로 사전을 인쇄하는 것과 같습니다) - http://ipython.scipy.org/moin/ –

1

내가 좋아하는 장고 문제를 디버깅하는 방법은 django_extensions./manage runserver_plus 명령을 사용하고 있습니다. 그것은 Werkzeug 디버거를 사용하여 웹 브라우저 자체에 파이썬 쉘을 제공합니다. 코드의 어느 곳에서나 쉘을 원한다면 간단한 a처럼 가짜 파이썬을 타이핑하면 코드가 실행될 때 쉘을 얻게됩니다.

또 다른 유용한 도구는 ipdbipython 디버거입니다. 이 패키지는 pdb와 동일하지만 ipython을 사용합니다.이 패키지와 runserver_plus를 사용하면 import ipdb; ipdb.set_trace()을 삽입 할 수 있으며 runserver_plus와 동일한 창에 디버거가있는 ipython 쉘을 얻을 수 있습니다 http://docs.python.org/library/pdb.html#debugger-commands 디버거 내부에서 사용할 수있는 명령 목록