Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

490
Vistas
¿Cómo enviar datos de datos scrapy a un modelo Django?

¿Es posible crear nuevos productos usando scrapy en django?

Cada vez que ejecuto scrapy.py me sale el siguiente error:

 raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

mi archivo de modelos de aplicaciones

 from django.db import models # Create your models here. class Product(models.Model): name = models.CharField(max_length=50) age = models.IntegerField() content = models.TextField(max_length=400) def __str__(self): return self.name

archivo scrapy.py

 from models import Product Product.objects.create(name='BMW', age=25, content='cool car')
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Sí, por supuesto que es posible, solo importa django y configura la variable DJANGO_SETTINGS_MODULE :

 import django import os # Configure settings for project # Need to run this before calling models from application! os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'app_name.settings') # Replace app_name with your application name. # Import settings django.setup() # Import the models now from app_name.models import Product # Use the imported model product = Product.objects.create(...)

Más info en esta publicación

over 4 years ago · Santiago Trujillo Denunciar

0

Para el error que tiene arriba, es posible que esté configurando Django incorrectamente.

Por lo tanto, esta pregunta tiene dos problemas a resolver:

  1. El entorno de Django no está configurado correctamente.
  2. Envíe datos al modelo a partir de datos rastreados.

**1. Solucionar el problema de configuración de Django **

Para la primera pregunta, le aconsejo que configure Django normalmente creando un proyecto... Luego, cree una aplicación como python manage.py startapp product_app AGREGAR product_app en settings.INSTALLED_APPS como:

 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'product_app' <----- without this the models.py won't work. ]

Luego, vaya a su models.py y cree el Product modelo, por ejemplo. Migre el modelo a su base de datos.

Muy bien, tu primera pregunta podría ser respondida.

2. Agregue datos rastreados en un modelo de Django.

La segunda parte es enviar datos a la tabla de product usando el modelo de Product (la representación de la tabla de productos).

Los campos que creará dependerán de los datos que necesite. Digamos que los datos que quiero almacenar de los datos rastreados son: name , description , price , stock y si está available .

Genial, vamos a crear nuestro modelo:

aplicación_producto/

 from django.db import models class Product(models.Model): name = models.CharField(max_length=250, unique=True) description = models.TextField(blank=True) price = models.DecimalField(max_digits=10, decimal_places=2) stock = models.IntegerField(default =0) available = models.BooleanField(default=True) class Meta: verbose_name = 'product' verbose_name_plural = 'products' def __str__(self): return str(self.name)

Dado que Django acepta diccionarios como objetos que se utilizarán para consultas, puede obtener estos datos rastreados en un diccionario/json para luego insertarlos en la tabla Product .

Muy bien, ahora por su parte, deberá obtener los datos como diccionario de alguna manera similar a este y empujarlos a la tabla Producto:

 data = { "name":"bmw", "description":"dont waste your money", "price":25000.00, "stock":4, "available":True }

ejemplo de consulta:

 Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> >>> from product_app.models import Product >>> >>> data = {"name":"bmw", "description":"dont waste your money", "price":25000.00, "stock":4, "available":True,} >>> >>> product = Product(**data) >>> product.save() >>> >>> product <Product: bmw>

Desde aquí puedes hacer lo que quieras con los datos. Instale Django-Rest-Framework y muestre los datos como REST-API o muestre los datos en una plantilla.

Ten en cuenta que puedes crear las consultas necesarias en views.py o donde quieras.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda