При отладке моих django приложений я использую pdb для интерактивной отладки с pdb.set_trace()
.
Однако, когда я исправляю файл локальные django перезапуски веб-сервера, и затем я не вижу то, что я ввожу в терминале, пока я не ввожу reset
.
Есть ли так или иначе, чтобы это произошло автоматически? Это может быть реальное раздражение, имея необходимость отменить runserver и сбросить и перезапустить все это время. Мне говорят, что этого не происходит на другой ОС (человечность), так должен там так или иначе заставить его не произойти на Mac? (Я использую Snow Leopard).
Хорошо - у меня это работает. Я создал ~ / .pdbrc и добавил
import os
os.system ( "stty sane")
Теперь каждый раз, когда запускается pdb, он возвращает настройки строки в нормальное состояние.
Если я упаду в терминал, мне все равно придется делать это вручную - но это решает необходимость постоянно выходить из сервера и перезагружать его.
Попробуйте [ q
] использовать pdb перед сохранением изменений в файле. Это предотвратит навязчивую работу консоли, но только для этого одного запуска pdb.set_trace ().
Вам все равно придется вернуться к старому ^ C + reset
+ ./ manage.py runserver
, если вы забудете выйти из pdb. Одна вещь, которая может сделать сброс настроек немного менее раздражающим, - это поместить сброс и сервер запуска в одну строку. Таким образом, сброс выполняется быстро ^ Rreset
или стрелкой вверх.
[ ... ]
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
^C$ reset && ./manage.py runserver
Лучшее, что я нашел, это сделать сброс внутри pdb так:
import os; os.system("reset");