Django: Есть ли способ перезапустить сервер dev, когда локальный .py файл будет изменен и динамически загружен?
В Django (1.9) пытается загрузить .py
файлы (модули) динамически (через importlib
). Динамическая перезагрузка работает как шарм, но каждый раз, когда я перезагружаю модуль, сервер dev перезапускается, вынуждая перезагружать все остальное.
Я собираю много внешних данных (xml) для целей тестирования, и каждый раз, когда среда перезапускается, она должна перезагружать все эти внешние XML-данные. Я хочу, чтобы иметь возможность перезагружать только модуль, и сохранить, что уже загруженные данные xml нетронутыми, так что ему не нужно проходить этот процесс каждый раз, когда я меняю некоторый py-код.
Есть ли флаг, который я могу установить/переключить (или любой другой метод), чтобы сервер не перезапустил весь процесс для перезагрузки этого одного модуля?
Любая помощь очень ценится.
Ответы
Ответ 1
Если вы запустите сервер разработки с помощью параметра --noreload
, он не будет автоматически перезагружать изменения:
python manage.py runserver --noreload
Отключает автоперегрузчик. Это означает, что любые изменения кода Python, которые вы делаете во время работы сервера, не вступят в силу, если определенные модули Python уже загружены в память.