Fundamentos de Django

1

Entornos Virtuales con Python: Gestión y Creación Eficaz

2

Django: Creación de Proyectos y Configuración Inicial

3

Modelos, Vistas y Templates en Django: Fundamentos Esenciales

4

Desarrollo de Aplicaciones Web con Django: Modelos, Vistas y Templates

La M en el Patrón: Modelo

5

Modelos y Migraciones en Django ORM

Manejo Avanzado de Modelos y Bases de Datos

6

Migraciones de Django: Creación y Aplicación en Base de Datos

7

Campo opcional en Django: manejo de bases de datos

8

Modificación y Eliminación de Datos en Django

Relaciones y Asociaciones entre Modelos

9

Relaciones de Tablas en Django: Clave Foránea y Cascade

10

Relaciones de Muchos a Muchos en Bases de Datos

11

Relaciones 1 a 1 en Django: Modelos y CRUD Básico

12

Uso de Managers en Django para Consultas de Modelos

Configuración de URLs y Vistas Avanzadas

13

"URLs dinámicas en Django: Manejo de rutas y parámetros"

14

Vistas Basadas en Clases en Django: Inicio y Configuración

La T en el Patrón: Plantillas o Templates

15

Django Templates: Variables, Filtros y Tags

Desarrollo de Aplicaciones en Django

16

Configuración y Uso de Entornos Virtuales y Django en Proyectos Python

17

Modelado de Productos en Django: Campos y Configuración

18

Validación de imágenes con Pillow en Django

19

Creación de Formularios en Django: Guía Práctica

20

Lista de Productos con Django y Tailwind CSS

21

Registro de Modelos en el Administrador de Django

22

Login y Registro de Usuarios con Django

23

Creación de Modelos y Vistas en Django para Aplicaciones Web

24

Desarrollo de Vistas Genéricas en Django

25

Corrección de Bugs con Queries en Django

26

Manipulación de Formularios en Django: Creación y Configuración

Django Rest Framework

27

Creación de APIs con Django REST Framework

Despliegue de aplicaciones Django

28

Configuración de Django con PostgreSQL para Producción

29

Protección de Datos Sensibles con Django Environ

30

Pruebas Unitarias con Django: Validación de Listas y Redirecciones

31

Despliegue de Aplicaciones Django en AWS Paso a Paso

32

Desplegar Aplicaciones Django en AWS Elastic Beanstalk

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Django

Curso de Django

Luis Martínez

Luis Martínez

Validación de imágenes con Pillow en Django

18/32
Recursos

Nuestro modelo de producto ha sido actualizado con un nuevo campo: image field. Al intentar crear las migraciones, el sistema muestra un error indicando que no se puede usar image field porque Pillow no está instalado. No hay que preocuparse, la solución es instalar Pillow. Siguiendo la sugerencia del error, ejecutamos pip install Pillow. Ahora, volvemos a correr make migrations y el error desaparece, logrando así la primera migración de nuestra aplicación de productos.

¿Cómo se soluciona el error al crear migraciones?

El error ocurre porque Pillow, una librería necesaria para manejar campos de imagen, no está instalada. La solución es instalarla con pip install Pillow.

¿Qué hacemos después de instalar Pillow?

Después de instalar Pillow, es importante:

  • Verificar que funciona corriendo nuevamente make migrations.
  • Asegurarse de agregar la dependencia a requirements.txt para evitar problemas en producción. Utiliza pip freeze para ver la versión instalada y añade Pillow al archivo.

¿Por qué es importante agregar Pillow a requirements.txt?

Cuando instalamos dependencias localmente, debemos asegurarnos de que estén en requirements.txt para que también se instalen en el entorno de producción. Esto se hace para evitar errores y asegurar que todas las librerías necesarias estén disponibles.

¿Qué permite hacer Pillow con los campos de imagen?

Pillow permite realizar validaciones en imágenes, como asegurarse de que las imágenes subidas cumplan con ciertas características en cuanto a resolución.

¿Qué sigue después de las migraciones?

Después de realizar las migraciones, tienes la base para construir vistas, conectarlas a URLs y crear un listado de productos. Te animo a que lo intentes, lo subas a tu repositorio y compartas el enlace en el sistema de comentarios.

Aportes 7

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Quiero pensar que aquí hubo un error de corte, porque al momento de decir “vamos a ejecutar la migración” hay un corte y no muestra lo que hace:

python manage.py migrate

Necesitan correr la migración de este modo para que puedan continuar con la siguiente clase 😃

También podemos usar `"pip freeze > requirements.txt"`, que copia en directamente al archivo la lista de las dependencias.
Recomiendo: pip list --not-required --format=freeze > requirements-dev.txt
El reto de crear productos: ```python 1. html: <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>List of products</title> </head> <body>

List of products

    {% for product in list_products %}
  • {{ product.name }}
  • {% empty %}
  • No products available
  • {% endfor %}
</body> </html> 2. La vista from django.shortcuts import render from django.views.generic import TemplateView from .models import Product class ListProductsView(TemplateView): template_name = "products/list_products.html" def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) products = Product.objects.all() context['list_products'] = products return context 3. la url en . from django.urls import path from .views import ListProductsView urlpatterns = [ path('', ListProductsView.as_view(), name='list'), ] 4. la url en root from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('products/', include('products.urls')), ] ```
![](https://static.platzi.com/media/user_upload/upload-8b1e736d-b3e3-4f22-a347-62dcd09eb607.png) No es mucho pero es trabajo honesto, obteniendo todo desde la base de datos :)
No esta el recurso para aprender acerca de Pillow mencionado en la clase
Deseo crear categoria y tag de producto. por favor como puedo hacer \- Para que el producto tenga muchos tags? \- Categoria que tenga sub categorias de varios niveles? \- Quer permitea seleccionar varios categorias gracias