Там должен так или иначе заставить pdb и Терминал Mac играть приятно?

При отладке моих django приложений я использую pdb для интерактивной отладки с pdb.set_trace().

Однако, когда я исправляю файл локальные django перезапуски веб-сервера, и затем я не вижу то, что я ввожу в терминале, пока я не ввожу reset.

Есть ли так или иначе, чтобы это произошло автоматически? Это может быть реальное раздражение, имея необходимость отменить runserver и сбросить и перезапустить все это время. Мне говорят, что этого не происходит на другой ОС (человечность), так должен там так или иначе заставить его не произойти на Mac? (Я использую Snow Leopard).

9
задан Martijn Pieters 30 March 2015 в 10:44
поделиться

3 ответа

Хорошо - у меня это работает. Я создал ~ / .pdbrc и добавил

import os
os.system ( "stty sane")

Теперь каждый раз, когда запускается pdb, он возвращает настройки строки в нормальное состояние.

Если я упаду в терминал, мне все равно придется делать это вручную - но это решает необходимость постоянно выходить из сервера и перезагружать его.

8
ответ дан 4 December 2019 в 21:09
поделиться

Попробуйте [ 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
1
ответ дан 4 December 2019 в 21:09
поделиться

Лучшее, что я нашел, это сделать сброс внутри pdb так:

import os; os.system("reset");

1
ответ дан 4 December 2019 в 21:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: