0

I have certain files that I want to be static on production but want to be able to write dynamically during development. So I would like to be able to execute a script to accomplish this each time the test server reloads, so that changes I have made will be taken into account, and the file gets updated. Is there any way to hook into the autoreloader to do this, or is this something I would need to do manually?

meesterguyperson
  • 1,726
  • 1
  • 20
  • 31

2 Answers2

2

You can add it to your settings.py which gets loaded on the devserver reload.

# settings.py
# ...
if DEBUG:
    import your_function
    result = your_function()
    print(result)
Thomas Schwärzl
  • 9,518
  • 6
  • 43
  • 69
  • Clever suggestion, and it would work if I didn't need access to models, which don't load until after the settings file. Any other thoughts? – meesterguyperson Jul 07 '17 at 16:03
1

Ended up doing what was suggested here. In short, I just added the following to the end of urls.py.

from django.conf import settings

if settings.DEBUG:
    my_dev_reload_script()

Thomas was close, but placing this in settings makes app references impossible. Putting it in urls ensures that apps are loaded.

meesterguyperson
  • 1,726
  • 1
  • 20
  • 31