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

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

4 ответа

Решение

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

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

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

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

Я объясняю, используя мою следующую настраиваемую команду Django:

      python manage.py execute_algorithm -f input_data.json

Шаги по настройке команды Django: Шаг: На панели инструментов Django перейдите к:

Выполнить> Изменить конфигурации

Щелкните значок «+» в левом верхнем углу, чтобы создать новую команду> выберите «Сервер Django» из раскрывающегося списка.

Заполните следующие данные:

Имя : любое подходящее имя, которое вы хотите дать этой конфигурации, например, execute_algorithm_command

Хост : очистить поле

Порт : по умолчанию 8000, очистите .

Пользовательская команда запуска : установите этот флажок. Укажите здесь имя вашей команды. Вы можете получить это от . например, значение: execute_algorithm

Дополнительные параметры : все, что есть, после имени команды. значение: -f input_data.json

После установки ipdb (pip install ipdb) поместите эти строки в точку отладки:

    import ipdb
    ipdb.set_trace()

https://pypi.python.org/pypi/ipdb

Другие вопросы по тегам