Django: Is there a way to keep the dev server from restarting when a local .py file is changed and dynamically loaded?
Question:
In Django (1.9) trying to load .py
files (modules) dynamically (via importlib
). The dynamic reload is working like a charm, but every time I reload a module, the dev server restarts, having to reload everything else.
I’m pulling in a lot of outside data (xml) for testing purposes, and every time the environment restarts, it has to reload all of this external xml data. I want to be able to reload a module only, and keep that already loaded xml data intact, so that it doesn’t have to go through that process every time I change some py-code.
Is there a flag I can set/toggle (or any other method) to keep the server from restarting the whole process for this single module reload?
Any help very appreciated.
Answers:
If you run the development server using --noreload
parameter it will not auto reload the changes:
python manage.py runserver --noreload
Disables the auto-reloader. This means any Python code changes you make while the server is running will not take effect if the particular Python modules have already been loaded into memory.
In Django (1.9) trying to load .py
files (modules) dynamically (via importlib
). The dynamic reload is working like a charm, but every time I reload a module, the dev server restarts, having to reload everything else.
I’m pulling in a lot of outside data (xml) for testing purposes, and every time the environment restarts, it has to reload all of this external xml data. I want to be able to reload a module only, and keep that already loaded xml data intact, so that it doesn’t have to go through that process every time I change some py-code.
Is there a flag I can set/toggle (or any other method) to keep the server from restarting the whole process for this single module reload?
Any help very appreciated.
If you run the development server using --noreload
parameter it will not auto reload the changes:
python manage.py runserver --noreload
Disables the auto-reloader. This means any Python code changes you make while the server is running will not take effect if the particular Python modules have already been loaded into memory.