Questa domanda: Automatically import models on Django shell launch contiene le risposte che spiegano come importare i modelli all'avvio utilizzando shell_plus, ma nessuna risposta su come eseguire il codice in generale.Come eseguire codice arbitrario all'avvio della shell di django?
Ma c'è un modo semplice per eseguire uno script Python?
python manage.py shell [or shell_plus] --run=script.py
Avrebbe semplicemente eseguito lo script come se avessi digitato l'intera cosa all'avvio della shell.
Mi rendo conto che è possibile importare le cose nella shell, ma poi sono bloccate all'interno di uno spazio dei nomi.
Penso che ipython dovrebbe avere un modo per eseguire uno script e quindi importare il suo locals()
nello spazio dei nomi di livello superiore. In tal caso potresti semplicemente fare %magic script.py
e faremo solo un passo, il che sarebbe positivo.
Cambiare il modo in cui si avvia la shell dovrebbe andare bene: l'obiettivo principale è quello di essere in grado di creare un file eseguito all'avvio della shell.
il problema è che non potrei volere che venga eseguito per tutte le shell - io uso ipython per cose diverse da django! e shell_plus carica solo modelli. – fastmultiplication