¡Siempre es necesario ejecutar scripts o procesos adicionales cuando tiene una idea nueva que funciona con el desarrollo web y en Python! es siempre.
Puede ser cualquier secuencia de comandos que incluya la carga de datos, el procesamiento y la limpieza de datos, o cualquier fase de ML cuando se crea una aplicación que proporciona lógica de negocios directamente en vistas o modelos no siempre es lo mejor. Como las convenciones de django se refieren a ‘vistas delgadas’, debemos intentar recortar la lógica e intentar incrustarla en algunos otros archivos.
Extensiones de Django en un paquete que le permite ejecutar los scripts adicionales que necesita para instalarlo usando pip, use terminal y escriba
pip install django-extensions
agregue las extensiones django en las aplicaciones instaladas que se encuentran en el archivo setting.py
INSTALLED_APPS = [ ... ... 'django_extensions', ]
Ahora cree una carpeta llamada scripts en su proyecto que contendrá todos los archivos de python que puede ejecutar.
Agregue un archivo de python vacío llamado ‘__init__.py’. Esto especifica que los scripts también forman parte de los proyectos de Django.
cree nuevos archivos que contengan el código que necesita ejecutar, nombre lo que quiera
ejemplo: para cargar datos de archivos CSV a la base de datos antes de ejecutar el servidor
cargar.py
import csv from site.models import Destination def run(): # All data in run method only will be executed fhand = open('location.csv') reader = csv.reader(fhand) next(reader) for row in reader: latitude = row[0] longitude = row[1] name = row[2] item = Destination.objects.create(name=name,latitude=latitude,longitude=longitude) item.save() print("Data Added")
Ahora, para ejecutar el script, simplemente ejecute el comando como se muestra a continuación, donde ‘cargar’ es un nombre de archivo
python manage.py runscript load