GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo ejecutar código en el shell de Django mediante un script de python externo?

Intente ingresar los comandos al django-shell en ejecución como un documento aquí:

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

En primer lugar, no debería acceder a su shell de Python con sudo . No hay necesidad de estar ejecutándose como root.

En segundo lugar, la forma de crear una secuencia de comandos que se ejecuta desde el símbolo del sistema es escribir una secuencia de comandos manage.py personalizada, para que pueda ejecutar ./manage.py deactivate_users . Las instrucciones completas para hacerlo se encuentran en la documentación.


Si desea ejecutar un script de Python que acceda a los modelos de Django, primero debe establecer una variable de entorno:

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

En el que debe reemplazar <path> por el directorio de tu proyecto, el que contiene el archivo settings.py .

A continuación, puede importar los archivos de su modelo, por ejemplo:

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

Linux
  1. ¿Cómo obtener la dirección IP externa en un script de Shell?

  2. ¿Cómo cifrar o hacer que el script de Shell sea ilegible?

  3. ¿Cómo ejecutar el comando antes del inicio de sesión del usuario en Linux?

  4. CentOS / RHEL:cómo cambiar el shell de inicio de sesión del usuario

  5. ¿Cómo leo el código fuente de los comandos de shell?

Cómo ejecutar un comando de Shell con Python

Cómo limitar el acceso del usuario al sistema Linux

Cómo ejecutar scripts de Python desde shell

¿Cómo ejecutar un comando en un script de Shell?

¿Cómo puedo ejecutar código PHP desde la línea de comandos?

Cómo ejecutar un archivo sin extensión .sh en shell