Kürzlich hatte ich das negierte Problem - benötigte Django-App, um einige Dateien von der Beobachtung für Entwicklungszwecke auszuschließen. Ich habe herausgefunden, dass django die überwachten Dateipfade in der Liste django.utils.autoreload._cached_filenames
speichert. Wenn Sie Elemente hinzufügen oder entfernen, wird django gezwungen, Dateien zu starten oder zu stoppen.
Was Ihr Problem betrifft, ist dies die (eine Art Hacky) Lösung. Für den Demo-Zweck habe ich die apps.py
angepasst, so dass die Datei direkt nach dem Initialisieren von django angesehen wird, aber Sie können den Code wo immer Sie möchten einfügen. Zunächst einmal die Datei erstellen, wie django nur Dateien sehen kann, die bereits vorhanden ist:
$ touch /tmp/foo.bar
In Ihrem django App:
# apps.py
from django.apps import AppConfig
...
import django.utils.autoreload
class MyAppConfig(AppConfig):
name = 'myapp'
def ready(self):
...
django.utils.autoreload._cached_filenames.append('/tmp/foo.bar')
nun den Server starten, in einer anderen Konsole die beobachtete Datei ändern:
$ echo baz >> /tmp/foo.bar
Der Server sollte jetzt ein Autoreload auslösen.