Creé un subdirectorio de mi proyecto Django llamado bin
en el que quiero poner todos los scripts de ejecución de línea de comandos de Python. Algunos de estos scripts necesitan importar mi proyecto Django settings.py
que se encuentra en un directorio principal de bin
.Cómo importar un archivo Python del proyecto Django settings.py desde un subdirectorio?
¿Cómo puedo importar el archivo settings.py
desde un subdirectorio del proyecto?
El código que utilizo en mi script de línea de comando para establecer en el "contexto Django" del proyecto es:
from django.core.management import setup_environ
import settings
setup_environ(settings)
Esto funciona bien si el guión está en el directorio raíz de mi proyecto.
Probé los dos cortes siguientes para importar el archivo settings.py
y luego configuración del proyecto:
import os
os.chdir("..")
import sys
sys.path = [str(sys.path[0]) + "/../"] + sys.path
El truco cruel puede importar settings.py
, pero luego me sale el error:
project_module = __import__(project_name, {}, {}, [''])
ValueError: Empty module name
Gracias por la respuesta, era demasiado flojo para buscar comandos de administración antes, pero es justo lo que quería hacer y ayuda a mantener todos mis scripts en un solo lugar. – MikeN