Quello che voglio ottenere:Come eseguire il codice nella shell Django con uno script Python esterno?
vorrei creare uno script python per disattivare gli utenti Django nel database dalla CLI. Mi sono inventato questo:
$ sudo python manage.py shell
>>> user = User.objects.get(username=FooBar)
>>> user.is_active = False
>>> user.save()
>>> exit()
Il codice sopra FUNZIONA quando inserisco manualmente il comando manuale dopo il comando. Tuttavia, vorrei mettere eseguire i comandi in uno script di .py come
$ sudo python script.py
diffirent Ora ho provato aproaches:
os.system("command1 && command2 && command3")
subprocess.Popen("command1 && command2 && command3", stdout=subprocess.PIPE, shell=True)
Il problema:
Questo non funziona! Penso che questo problema sia qui perché Python attende finché la shell Django aperta (primo comando) non finisce mai. Non esegue il resto dei comandi nello script mentre il primo comando lo mette in attesa.
subprocess.popen
può eseguire comandi in una shell ma solo nella shell Python, mi piacerebbe utilizzare la shell Django.
Qualche idea su come accedere alla shell di Django con uno script .py per l'esecuzione di codice personalizzato?
ne dite 'guscio manage.py python
falsetru