GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie führe ich Code in der Django-Shell durch ein externes Python-Skript aus?

Versuchen Sie, die Befehle in die laufende Django-Shell als folgendes Dokument einzugeben:

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

Erstens sollten Sie nicht mit sudo auf Ihre Python-Shell zugreifen . Sie müssen nicht als root ausgeführt werden.

Zweitens besteht die Möglichkeit, ein Skript zu erstellen, das von der Eingabeaufforderung aus ausgeführt wird, darin, ein benutzerdefiniertes manage.py-Skript zu schreiben, damit Sie ./manage.py deactivate_users ausführen können . Vollständige Anweisungen dazu finden Sie in der Dokumentation.


Wenn Sie ein Python-Skript ausführen möchten, das auf Django-Modelle zugreift, müssen Sie zunächst eine Umgebungsvariable setzen:

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

In dem Sie <path> ersetzen müssen nach Ihrem Projektverzeichnis, das die Datei settings.py enthält .

Sie können dann Ihre Modelldateien importieren, zum Beispiel:

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

Linux
  1. Wie erhalte ich die externe IP-Adresse in einem Shell-Skript?

  2. Wie kann man das Shell-Skript entweder verschlüsseln oder unlesbar machen?

  3. Wie führe ich einen Befehl vor der Benutzeranmeldung unter Linux aus?

  4. Wie führe ich ein Skript in der Shell aus, wenn eine Tastenkombination gedrückt wird?

  5. CentOS / RHEL :So ändern Sie die Anmelde-Shell des Benutzers

So führen Sie einen Shell-Befehl mit Python aus

So beschränken Sie den Zugriff des Benutzers auf das Linux-System

Wie liest man das gesamte Shell-Skript, bevor man es ausführt?

So führen Sie Python-Skripte von der Shell aus

Wie führe ich einen Befehl in einem Shell-Skript aus?

Wie kann ich meine externe IP-Adresse in einem Shell-Skript abrufen?