Как отлаживать команды 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) и измените рабочий каталог.
Юнти

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.