Как отлаживать команды Django в PyCharm

84

Я знаю, как запускать команды с PyCharm (Инструменты -> Выполнить задачу manage.py), но я хотел бы также отлаживать их, включая мои команды и команды сторонних приложений.

Тарас Билынский
источник
Если вы пытаетесь отлаживать команды manage.py (которые находятся в папке app / management / commands /), вы можете использовать ответ @Kevin, но вставьте manage.py в «Сценарий» и команду, которую вы хотите запустить. «Параметры скрипта».
РВК

Ответы:

171

Вы можете отлаживать пользовательскую команду администратора / управления Django в PyCharm, создав пользовательскую запись сервера Django в меню Run / Debug Configuration:

  • Щелкните Edit Configurations....
  • Щелкните значок плюса и выберите Django server.
  • Заливка в Nameкачестве пожалуйста, снимите Hostи Portполе, проверку Custom run commandи введите имя вашей команды справа от флажка.
  • Введите любые дополнительные аргументы командной строки в отдельное поле Additional options, не добавленное в команду запуска.
  • Щелкните ОК.

Теперь установите точку останова, выберите новую конфигурацию в меню Run / Debug Configuration и нажмите кнопку Debug. И вуаля!

Кевин
источник
20
Акцент для таких людей, как я, которые явно не умеют правильно читать: поля Host и Port должны быть очищены, иначе пользовательская команда не будет работать!
Henrik Heimbuerger
Извините, но что я должен добавить в «пользовательскую команду запуска»? Я назвал свой «simple_chart», но при попытке отладки получаю «неизвестную команду». У меня есть метод в views.py под названием simple_chart, в котором я разместил точку останова. Все, что я хочу, - это чтобы отладчик остановился там, чтобы я мог исследовать переменные в локальной среде.
Frikster
1
У меня нет опции сервера Django в плюс
Dejell
10
Для тех, кто борется: поле «custom run command» должно содержать только вашу команду. Например, если вы работаете py manage.py cmdс консоли, это поле будет просто содержать cmd.
texnic
1
@Dejell: для поддержки DJANGO вам нужна профессиональная версия Pycharm. ( jetbrains.com/pycharm/features/editions_comparison_matrix.html )
PeterN
9

Поскольку очистка Host и Port не приведет к запуску команды (PyCharm 5), решение, которое я нашел, - использовать конфигурацию запуска Python вместо сервера Django . Заполните Scriptсвой скрипт manage.py, другие параметры Script Parametersи настройте среду, например Working directory.

Рыбный монитор
источник
2
Это то, что заставило меня работать (pycharm 2016). Поместите manage.py в скрипт, вашу команду управления django в параметры скрипта (вместе с любыми флагами команд управления django) и измените рабочий каталог.
Юнти