Отладка Django Eclipse. Не останавливаясь на точках останова - PullRequest
3 голосов
/ 23 января 2012

Я пытаюсь отладить свой проект Django через Eclipse. Приложение работает нормально, когда я набираю URL в браузере после запуска сервера через командную строку. Теперь я хочу отладить его.

Я сделал следующее: я настроил конфигурацию отладки / запуска: на главной вкладке конфигурации он указывает на проект и на views.py. На вкладке аргументов у меня есть аргументы программы: runserver --noreload. (Я пишу конфигурацию отладки / запуска, потому что кажется, что она идет к той же конфигурации, независимо от того, делаю ли я «Отладка как» или «Запуск от имени».)

Я добавил точку останова в свой код.

Я не уверен, стоит ли сначала запускать сервер через командную строку; Поэтому я пробовал оба пути. И я не уверен, стоит ли мне делать «Запуск от имени» или «Отладка как» из Eclipse. Поэтому я попробовал все комбинации:

комби 1: Запустите сервер через командную строку. Нажмите на мой проект (или оба модуля), а затем выберите «Запуск от имени / Запуск конфигурации». Выберите мою новую конфигурацию и запустите. Результат: строка заголовка консоли гласит: --noreload. Если я сейчас наберу URL в браузере, он будет работать нормально, не останавливаясь на точке останова.

комби 2: Запустите сервер через командную строку. Нажмите на мой проект (или оба модуля), а затем выберите «Отладка как / Отладка конфигурации». Выберите мою новую конфигурацию и запустите. Результат: строка заголовка консоли гласит: views.py. В консоли написано «pydev отладчик: запуск». Если я сейчас наберу URL в браузере, он работает нормально, не останавливаясь на точке останова.

комби 3/4: Сервер не работает из командной строки. Тот же результат, что и 1 и 2, за исключением того, что браузер не может подключиться к localhost.

Я прочитал учебник, в котором говорится, что для DJANGO_SETTINGS_MODULE заданы значения параметров, а для PYTHONPATH установлено значение $ PWD. Когда я делаю это, я получаю сообщение об ошибке, что он не может найти мой файл настроек. Поэтому я не учел их, потому что видел другой учебник, в котором они вообще не были заданы.

Ответы [ 2 ]

3 голосов
/ 25 января 2012

Что вы имеете в виду, когда говорите запустить через командную строку?

Если все настроено правильно (http://pydev.org/manual_adv_django.html), должно работать следующее:

Щелкните правой кнопкой мыши проект> Отладка как> PyDev: Django (он создаст конфигурацию запуска с параметром --no-reload и запустит ее в режиме отладки).

И если вы настроили запуск для повторного запуска последнего запуска (как описано в http://pydev.org/manual_101_run.html), вы сможете просто нажать F11, чтобы снова отладить его, и Ctrl + F11, чтобы запустить его без режима отладки.

Примечание: на http://pydev.org/manual_adv_remote_debugger.html (в конце страницы) приведены инструкции по отладке без указания автоматической перезагрузки - вы также можете взглянуть на: https://stackoverflow.com/a/7648375/110451 для способа фактического уничтожения порожденного процесса Django в режиме автоматической перезагрузки.

0 голосов
/ 12 февраля 2012

Оказалось, что это глупая ошибка: в конфигурации отладки основной модуль указывал на views.py вместо manage.py.Изменение это решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...