Act22-29Sep - Modo Demo en Apps - Refact de Vistas Django - Pythonanywhere - de Linux a Windows 11

Video thumbnail

Bienvenidos a otra semana de actualizaciones. Paso a comentar todo el contenido que subí para la semana del 22 de septiembre hasta el 29 de septiembre, que es la fecha actual.

Libros Comunitarios

Como siempre, comenzamos con los libros comunitarios. Ya tenemos muchísimos, y esta semana se suma el de CodeIgniter 4 con los primeros capítulos.
Recuerda que puedes consultar la sección de lista de reproducción de libros comunitarios para ver el detalle de cada uno. Esta vez corresponde a la parte de CRUD principalmente:

También tenemos libros de Laravel, Django, Livewire, Bootstrap, Electron, FastAPI y de animaciones personalizables con Flutter:


Y no olvides que el curso y libro de Django Shopping ya se encuentran disponibles en academia.net
. Te recomiendo adquirirlos en paquete, para tener lo mejor de los dos mundos.

YouTube y Blog

Modo Demo

Mostré cómo crear un modo demo para las aplicaciones que subo a producción. La idea es bloquear ciertas operaciones de manera sencilla.
Se puede hacer con variables de entorno o, más elegantemente, mediante un middleware que bloquee peticiones POST si estás en modo demo.

Crea un Modo DEMO para tu Aplicación - FACIL - https://youtu.be/XKlVWfUHh_k 

Refactorización de Vistas

Tema muy interesante que forma parte del curso y libro de Django Shopping. Aquí trabajamos con vistas basadas en clases, lo que nos permite encapsular mejor la lógica y manejar pagos de productos, ya sean libros (específicos) o productos genéricos (como un escritorio), todo desde un mismo flujo.

De código duplicado a código limpio en Django + IA - https://youtu.be/782phUsCHp0

Gemini para traducir los .po de Python

Otra característica que probamos fue usar Gemini (IA) para traducir automáticamente archivos .po al español.
Esto nos ahorra trabajo manual y mantiene la estructura de traducciones intacta. Una integración práctica y casi infalible.

Usando Gemini CLI y ChatGTP para Traducir .po de Django - https://youtu.be/tgbzFjrZJG8

Deploy con PythonAnywhere

Expliqué cómo desplegar un proyecto Django en PythonAnywhere. El proceso incluye:

  • Crear cuenta y subir proyecto vía GitHub o archivo.
  • Configurar requirements.txt, allowed_hosts y archivos estáticos.
  • Crear ambiente virtual y migrar la base de datos.
  • Definir el archivo WSGI.
  • Todo esto se puede hacer gratuitamente y de forma sencilla.

Deploy de una app Web en Django con PythonAnywhere - https://youtu.be/4O3cS7yqrbU

Linux vs Windows

Comenté un video interesante de un usuario que volvió a Windows tras 8 años en Linux.
Aunque Linux ofrece más control y libertad, muchas configuraciones requieren tiempo y no todos los programas están disponibles. Al final, depende de cómo quieras invertir tu tiempo: aprender y configurar Linux, o usar Windows para enfocarte directamente en trabajar.

Probó Windows 11 tras años en Linux y cambió de opinión - https://youtu.be/eYc-jWigfbk

Generar Modelos 3D desde Imágenes

Mostré cómo, a partir de una imagen 2D, podemos generar un mallado 3D básico para esculpir en Blender.
Usamos NanoBanana para obtener poses, cargamos imágenes en otro programa y obtenemos un mallado inicial que luego se retopologiza y personaliza.

Convertir imágenes en modelos 3D en 5 minutos para modelar en Blender  - https://youtu.be/hKvbw4i-Yi0

Curso y Libro sobre Django Shopping

  • Seguimos trabajando en configuraciones internas, como el sistema de cupones, para que funcione con ambos tipos de productos.
    La lógica se organiza en clases base reutilizables, lo que permite crear nuevos tipos de productos de manera modular.
  • Adaptación de Plantillas y Clases
  • Para la parte de pagos, ajustamos varios templates (4 aprox.) y clases de servidor (5 o 6). La idea es tener un sistema abstracto y escalable para reutilizar en cualquier producto.
  • Avisos y Modo Oscuro
  • Agregamos un aviso de producto comprado y habilitamos el modo oscuro con Tailwind.
    Aunque tuve un problema con Git (olvidé hacer pull y tuve que resolver un merge), finalmente quedó funcionando: ahora se puede alternar entre modo claro y oscuro.

Conclusión

Esto sería todo el contenido subido para la semana: actualizaciones en libros, nuevas funcionalidades en la tienda, experimentos con IA, despliegues en PythonAnywhere y mejoras visuales como el modo oscuro.

Django - Tienda en línea

Varios cambios

  1. Cupón: Atributo para definir el paso
    1. Creamos un atributo para manejar cuando mostramos el botón de pagar ahora e input del cupón o los botones de pago.
  2. Cupón: Botón de pagar ahora
    1. Vamos a implementar el botón para pagar ahora
  3. Cupón: No redireccionar al siguiente paso si el cupón es invalido
    1. No ir al segundo paso si el cupón introducido es invalido.
  4. Extra: Cupón: Lógica del render el el cliente
    1. Implementamos un script con Alpine para evitar recargar la pagina al darle a pagar ahora.
  5. Cupón: Mostrar información del cupón aplicado
    1. Mostramos la información del cupón, si se aplicó u ocurrió un error.
  6. Cupón: Stripe, Adaptar generar SessionID
    1. Mostramos los cambios realizados en la clase que genera el SessionID de Stripe.
  7. Cupón: Procesar cupón en la compra
    1. Vamos a procesar la compra y registrar el cupón.
  8. Pasarela de pago, resumen
    1. Damos un resumen sobre la pasarela de pago ya finalizada
  9. Cupón: Marcar como consumido
    1. Implementamos la función de marcar un cupón como consumido
  10. Clase Abstracta para el detalle de productos comprobables
    1. Generamos la clase abstracta para el detalle de la casa comprable.
  11. Replicar en libro
    1. Aplicamos los cambios en la entidad comprable de libro.
  12. Cupón: Mostrar cupón aplicado en el dashboard y búsqueda
    1. Vamos a mostrar cuando se aplica o no un cupón en el listado.
  13. Cupón: Búsqueda por cupón en los pagos
    1. Vamos a definir un enlace para ver el cupón consumido en los pagos
  14. Aviso de producto comprado
    1. Mostramos una alerta para indicar que el producto ya fue comprado.
  15. Modo Oscuro: Como funciona en Tailwind 4
    1. Hablamos sobre cómo funciona el modo oscuro.
  16. Modo Oscuro: Implementar
    1. Permitimos cambiar entre el modo claro y oscuro.

Acepto recibir anuncios de interes sobre este Blog.

Libros comunitarios Youtube/Blog - Modo Demo en Apps - Refactorización de Vistas/Clases en Django - Pythonanywhere - de Linux a Windows 11 - Imagen a modelo 3D en Blender Curso/Libro Django Shopping - Refactorización, Manejo de cupones

| 👤 Andrés Cruz

🇺🇸 In english