Используйте shell_plus с конфигурацией ipython. Это включит autoreload
до того, как shell_plus автоматически импортирует что-либо.
pip install django-extensions
pip install ipython
ipython profile create
Отредактируйте свой профиль ipython (~/.ipython/profile_default/ipython_config.py
):
c.InteractiveShellApp.exec_lines = ['%autoreload 2']
c.InteractiveShellApp.extensions = ['autoreload']
Откройте оболочку - обратите внимание, что вам не нужно включать --ipython
:
python manage.py shell_plus
Теперь все, что определено в SHELL_PLUS_PRE_IMPORTS
или SHELL_PLUS_POST_IMPORTS
( документы ), будет автоматически перезагружено!
Обратите внимание, что если ваша оболочка находится в отладчике (например, pdb.set_trace()
), то при сохранении файла она может помешать перезагрузке.