Mi piacerebbe avere queste righe di codice eseguito all'avvio del server (sia per lo sviluppo e la produzione):Dove inserire il codice di avvio di Django?
from django.core import management
management.call_command('syncdb', interactive=False)
Mettere in settings.py
non funziona, in quanto richiede le impostazioni da caricare già.
Inserirli in una vista e accedere a quella vista esternamente non funziona, in quanto vi sono alcuni middleware che utilizzano il database e quelli non funzioneranno e non mi permetteranno di accedere alla vista.
Inserirli in un middleware funzionerebbe, ma questo verrebbe chiamato ogni volta che si accede alla mia app. Una possibile soluzione potrebbe essere quella di creare un middleware che faccia tutto il lavoro e quindi rimuoverlo da MIDDLEWARE_CLASSES
in modo che non venga più chiamato. Posso farlo senza troppe patch per le scimmie?
Grazie per la risposta rapida. Questo è esattamente ciò di cui ho bisogno. –
Questo è un bel trucco di cui non ero a conoscenza. –
Secondo http://stackoverflow.com/questions/6791911/execute-code-when-django-styles-once-only, questo può essere problematico. Si suggerisce di inserire la funzione di avvio in urls.py – Michael