GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire il codice nella shell Django da uno script Python esterno?

Prova a inserire i comandi nella django-shell in esecuzione come documento here:

$ sudo python manage.py shell << EOF
user = User.objects.get(username=FooBar)
user.is_active = False
user.save()
exit()
EOF

In primo luogo, non dovresti accedere alla tua shell Python con sudo . Non è necessario essere in esecuzione come root.

In secondo luogo, il modo per creare uno script che viene eseguito dal prompt dei comandi è scrivere uno script manage.py personalizzato, in modo da poter eseguire ./manage.py deactivate_users . Le istruzioni complete per farlo sono nella documentazione.


Se vuoi eseguire uno script Python che acceda ai modelli Django, devi prima impostare una variabile d'ambiente:

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "<path>.settings")

In cui devi sostituire <path> dalla directory del tuo progetto, quella che contiene il file settings.py .

È quindi possibile importare i file del modello, ad esempio:

from <path>.models import User
user = User.objects.get(username=FooBar)
user.is_active = False
user.save()

Linux
  1. Come ottenere l'indirizzo IP esterno in uno script di shell?

  2. Come crittografare o rendere illeggibile lo script della shell?

  3. Come eseguire il comando prima dell'accesso dell'utente su Linux?

  4. Come eseguire uno script nella shell quando viene premuto un tasto di scelta rapida?

  5. Come eseguire script Python dalla shell

Come eseguire un comando Shell con Python

Come limitare l'accesso dell'utente al sistema Linux

Come leggere l'intero script della shell prima di eseguirlo?

Come eseguire un comando in uno script della shell?

Come eseguire un file senza estensione .sh nella shell

Esegui automaticamente lo script bash con i privilegi di un altro utente