
Vamos ha hablar un poco sobre algunos conceptos que debes de saber antes de iniciar con el framework.
Este es un curso bastante grande con muchos módulos de lo cual vamos de lo más básico a aspectos más avanzados, por lo tanto, el flujo u orden del curso es secuencial; te aconsejo que sigas el curso tal cual esta, sección por sesión para tener el mejor aprendizaje; pero, como ves, tenemos secciones extras las cuales puedes ver en cualquier momento siempre que cuentes con conocimientos básicos en el framework.
El curso como te comento es evolutivo, por lo tanto, partiremos en cada sesión con lo realizado en la sección anterior; en cada sección trato de abordar un tema, ya sea por ejemplo, Python básico, para dar los primeros pasos con Python, conocer el ecosistema de Django, crear un CRUD en Django, Crear una Rest Api y consumir la misma con una app en Vue y así para el resto de las secciones.
Hay secciones que son opcionales como la de Python básico que es un refuerzo en caso de que no conozcas Python y también la sección 4 en la cual creamos una muy sencilla app apoyándonos en la documentación oficial; por lo tanto, en caso de que tengas conocimientos en Django y Python puedes iniciar el curso a partir de la sección 5.
Tambien fijate que generalmente al final de cada sección se encuentra el código fuente del proyecto, listo para que realices pruebas con el; recuerda que el código fuente es tuyo y puedes hacer lo que quieras con el.
Para tomar el curso lo único que necesitas es tener conocimientos básicos en la programación, no es indispensable saber Python ya que tenemos una sección de reforzamiento pero sí que conozcas aspectos de tecnologías web como HTML, CSS y un poco de JavaScript asi que hayas creado cualquier app al menos sencilla empleando Bootstrap en cualquier versión y por supuesto, muchas ganas de aprender y abordar un framework tan interesante como lo es Django.
La verdad espero que disfrutes del curso que lo cree con mucho esfuerzo; es muy probable que veas el contenido cambiado cuando estés viendo este video, ya que actualizo el curso de manera recurrente para agregar más y más material relacionado al curso e inclusive que me sugieren otros estudiantes como tú.
Te pido por favor que veas varios vídeos del curso, te adentres en el curso antes de tomar una posición con el mismo; fijate que tenemos muchas secciones en donde vemos desarrollos muy interesantes e integraciones muy importantes desde conocer Django básico, aspectos más elaborados, consumir una Rest mediante una app por ejemplo en Vue, e inclusive construimos una verdadera app real, una tienda en línea con un poco de todo, integración con Stripe, PayPal, Bootstrap y todo esto es más que fundamental para construir cualquier aplicación hoy en día; si tienes alguna duda o recomendación puedes enviarme un mensaje y con gusto te atenderé en el mejor tiempo posible y recuerda que en gran parte que el curso siga evolucionando con nuevas secciones depende de ti; que muestres tu apoyo con una calificación la cual me ayuda muchisimo para que el curso siga siendo consumido por más y más estudiantes y todo esto me ayuda y motiva para continuar dando más y más material de tu interés.
Vamos a enseñar como podemos instalar Python y algunas consideraciones a tener en cuenta.
Vamos a instalar el IDE que vamos a emplear en este curso para desarrollar nuestras aplicaciones en Python y Django.
Vamos a crear la carpeta de nuestro proyecto que vamos a emplear en esta sección para realizar las distintas pruebas y conocer Python.
Vamos a hablar sobre parte del software necesario para este curso.
Vamos a presentar como usar la consola de Python, ideal para hacer pruebas.
Vamos a conocer como crear los archivos para programar en Python.
Vamos a conocer cómo emplear las variables y sus tipos de datos.
Vamos a conocer cómo funcionan las operaciones matemáticas en Python.
Vamos a conocer cómo funcionan las concatenaciones de String en Python.
Vamos a aprender a realizar casteos o conversión entre distintos tipos.
Vamos a aprender a trabajar con las listas.
Vamos a conocer el uso de los condicionales.
Vamos a conocer el uso de los ciclos while y for.
Daremos los primeros pasos con las funciones en Python
Daremos los primeros pasos con las funciones en Python
Vamos a conocer el uso de los diccionarios.
Vamos a hablar sobre las clases, su propósito, importancia y características bases.
Vamos a crear la primera clase y definir sus atributos y métodos.
Vamos a conocer como trabajar con los métodos constructores.
Vamos a conocer cómo emplear la herencia de clases.
Vamos a hablar sobre los módulos en Python.
Vamos a realizar un ejercicio sobre los módulos en Python.
Voy a hablarte un poco del porqué en un inicio no empleo los espacios virtuales.
Vamos a presentar el sistema de gestor de paquetes de Python, pip y vamos a instalar Flask mediante pip.
Vamos a crear el primer proyecto en Django mediante la línea de comando.
Vamos a hablar en qué consiste esta organización de proyectos y aplicaciones que hace Django.
Vamos a crear nuestra primera aplicación en Django.
Vamos a crear algo funciona, que sería una vista que devuelva un hola mundo.
Vamos a aprender a configurar la base de datos que de momento, vamos a emplear SQLite.
Vamos a crear nuestros modelos en la app polls creada anteriormente.
Vamos a crear las migraciones gracias a los modelos generados anteriormente.
Vamos a emplear la consola interactiva de Django para hacer las primeras pruebas con nuestro modelo de datos.
Vamos a modificar como se muestra la impresión de los registros por la consola.
Vamos a habilitar y hacer las primeras pruebas con el módulo administrador.
Vamos a crear vistas personalizadas para imprimir el question_id que va a ser pasado como parámetro a estas vistas.
Vamos a conectarnos a nuestra base de datos para obtener los registros de las preguntas y mostrarlas en un string separado por comas.
Vamos a crear un template o vista sencilla para mostrar el listado de preguntas.
Vamos a detallar un poco más lo que hicimos en el ejemplo anterior.
vamos a limpiar un poco más el uso de los template con un nuevo método.
Vamos a comenzar a trabajar con la página de 404 para cuando las question no existan.
Vamos a ver otro mecanismo más corto para mostrar errores 404 cuando un ID no existe.
Vamos a crear la página/template inicial para el detalle.
Vamos a pintar los choice del question seleccionado.
Vamos a configurar una ruta con nombre para ir de una vista a otra mediante los enlaces.
Vamos a crear un formulario para enviar un voto.
Vamos a hacer la parte del controlador de la vista que desarrollamos anteriormente, sumar un voto.
Vamos a crear la vista de resultado.
Vamos a ver una característica muy interesante de django, que es el uso de las vistas genéricas de django y reutilizar vistas existentes mediante clases.
Vamos a conocer un mecanismo con el cual podemos cargar archivos estáticos en django.
Vamos a empezar a personalizar el módulo de admin de django, en esta oportunidad agregar modelos para poder emplear el sistema de crud de django.
Vamos a conocer como podemos dividir el formulario en secciones.
Vamos a agregar otro modelo, para nuestra app de admin.
Vamos a conocer cómo podemos vincular formularios de choice al momento de definir un formulario de question.
Vamos a definir de manera manual cuales son las columnas que queramos que aparezcan cuando construimos el listado.
Vamos a agregar filtros al listado.
Vamos a agregar un campo de búsqueda al listado.
Vamos a personalizar el Laporta del admin con CSS.
Vamos a crear un nuevo proyecto y aplicación en django.
Vamos a crear los modelos con la estructura que vamos a emplear para la siguiente sección.
Vamos a aprender a configurar una base de datos en MySQL en django.
Vamos a crear las migraciones y luego ejecutarlas para que se generen las tablas en base de datos.
Vamos a registrar los modelos en la app de Admin para poder generar algunos datos de prueba.
Vamos a configurar la función ser para la impresión de un objeto de un modelo.
Vamos a instalar el toolkit para poder configurar una Rest Api en django.
Vamos a crear nuestros primeros recursos para la Rest API, mediante el modelo de element vamos a crear todas las operaciones tipo CRUD mediante la Rest.
Vamos a crear los recursos tipo CRUD para el resto de los modelos.
Vamos a hacer una pruebas con la Rest API desde el navegador.
Vamos a hacer conexiones a la Rest API mediante postman.y probar todos los recursos tipo CRUD.
Vamos a dar más información sobre los archivos creados. que más pueden hacer para nuestra Rest Api.
Vamos a crear un método personalizado para obtener los elementos dado la categoría.
Vamos a replicar el desarrollo anterior para los tipos.
Vamos a dar algunos detalles sobre Vue.
Vamos a instalar el ecosistema necesario para desarrollar nuestras apps con Vue Cli.
Vamos a crear nuestro primer proyecto mediante Vue Cli.
Vamos a explicar la estructura de un proyecto generado mediante la Vue Cli.
Vamos a crear nuestro Hola Mundo en Vue.
Vamos a presentar los ciclos, para iterar elementos.
Vamos a crear un método que imprima un mensaje por consola en base a un evento click de nuestro usuario.
Vamos a presentar los fetch, como mecanismo para conectarnos mediante HTTP y conseguir datos de manera asíncrona.
Vamos a superar el bloqueo que tenemos al realizar una petición a otro servidor en django.
Vamos a consumir un recurso de la Rest de django mediante Vue.
Vamos a explicar el ciclo de vida de una aplicación en Vue y ver que podemos sacar de esto para mejorar la app.
Vamos a instalar Vue Bootstrap para mejorar el aspecto de nuestra app.
Vamos a crear nuestro primer componente en Bootstrap Vue que sería el de la carta, para nuestro listado.
Vamos a crear un container para nuestro contenido.
Vamos a ver una demostración, y vamos. a crear una tabla mediante Vue Bootstrap.
Vamos a crear un navbar para nuestra app mediante Vue Bootstrap.
Vamos a crear un boceto para la página de detalle.
Vamos a construir una web SPA con Vue Router.
Vamos a crear un enlace para poder navegar entre componentes de la web SPA.
Vamos a crear un componente de listado para todas las categorías.
Vamos a crear un componente de listado para los tipos.
Vamos a crear todos los enlaces de categorías y tipos anteriores en nuestro navbar.
Vamos a crear el listado de elementos seleccionado una categoría y conectarnos a nuestra Rest para obtener el listado.
Vamos a crear un componente de listado genérico.
Vamos a modificar el componente de listado principal con el componente genérico de listado.
Vamos a replicar el componente de listado genérico para los tipos.
Vamos a presentar los watch para observar cambios sobre propiedades u otros elementos.
Vamos a alinear los listados de categorías y tipos.
Vamos a mejorar la presentación de nuestro listado genérico para los elementos.
Vamos a mejorar la presentación del componente de detalle.
Vamos a dar más te talle sobre la categoría seleccionada indicando a qué tipo y categoría pertenece.
Vamos a construir más peticiones para obtener el detalle de la categoría y tipo.
Vamos a instalar axios, que es un cliente similar al fetch que empleamos para hacer las peticiones para ver una variante.
Vamos a hacer un ejercicio para hacer peticiones mediante axios.
Vamos a corregir un error que quedó pendiente al integrar los enlaces de categoría y tipo en el detalle del elemento.
Vamos a hablar sobre lo construido hasta este punto y que necesitamos para seguir avanzando.
Vamos a crear una nueva app con la cual vamos a trabajar con comentarios.
Vamos a crear el modelo inicial.
Vamos a crear la función y vista asociada a la vista de index, el listado.
Vamos a crear un formulario para agregar comentarios empleando Django Form Model.
Vamos a personalizar atributos del formulario.
Vamos a definir el resto del cuerpo para que funcione el formulario.
Vamos a validar el formulario y hacer el procesamiento del mismo para luego guardar el mismo en BD.
Vamos a aprender a hacer una redirección con los shortcut de django.
Vamos a crear otro método, basado en el de creación para actualizar un comentario mediante los formularios de django.
Vamos a conocer cómo emplear un atributo de los save para guardar los datos en la base de datos o no.
Vamos a personalizar el método de save para hacer operaciones previas antes de guardar.
Vamos a ver cómo podemos obtener y mostrar los errores del formulario.
Vamos a crear un formulario personalizado o genérico en django.
Vamos a ver como podemos ver los errores en los formularios y realizar algunas pruebas más.
Vamos a crear un formulario un poco más completo con otros tipos de campos.
Vamos a instalar el toolkit de Bootstrap para nuestra aplicación.
Vamos a instalar un módulo adicional de Python para que nuestro formulario pueda tomar el estilo de Bootstrap.
Vamos a crear un container para nuestro formulario.
Vamos a mostrar los errores agrupados en un listado.
Vamos a trabajar con las validaciones sobre los campos de formulario.
Vamos a trabajar con los widgets, que viene siendo el mecanismo que tenemos para personalizar el campo de formulario.
Vamos a crear un par de campos para trabajar con los archivos y booleanos.
Vamos a crear un par de campos para trabajar con los archivos y booleanos.
Vamos a procesar todo el contacto de formulario y guardar los datos en la base de datos.
Vamos a crear un sencillo select o campo de selección con datos estáticos de una tupla.
Vamos a crear un modelo para manejar el tipo de contacto.
Vamos a presentar el uso de los campos de selección atados a un modelo o consulta.
Vamos a crear otro listado genérico para trabajar con el sexo y una tupla estática.
Vamos a permitir que la carga de archivos sea opcional.
Vamos a crear una redirección al momento de crear el contacto.
Vamos a conocer los mensajes flash en django.
Vamos a mejorar el aspecto de los mensajes mostrados vía flash.
Vamos a mejorar el aspecto del formulario.
Vamos a aplicar algunos cambios finales sobre el formulario.
Vamos a conocer una directiva para incluir fragmentos de vista en otra vista.
Vamos a empezar a definir un template maestro para la app de coments.
Vamos a conocer el uso de los block y extends para crear una plantilla maestra.
Vamos a extender el uso de la plantilla maestra.
Vamos a crear un header o navbar que nos ofrece en Bootstrap 4.
Vamos a activar el JavaScript de Bootstrap 4 para que funcionen ciertos componentes del navbar.
Vamos a crear un sencillo footer para la app.
Vamos a presentar una etiqueta para escapar o no contenido HTML y JavaScript.
Vamos a aprender a crear comentarios de distintos propósitos en django template.
Vamos a presentar la etiqueta cycle.
Vamos a presentar los filtros y trabajar con algunos de ellos.
Vamos a hablar un poco más de qué más podemos hacer con los template en django.
Vamos a crear una relación entre muchos a uno opcional entre los comentarios y los elementos.
Vamos a dar más detalle al elemento, con los modelos relacionados.
Vamos a obtener todo el detalle de la categoría y del tipo en la Rest.
Vamos a habilitar el recurso tipo Rest para los comentarios de los elementos.
Vamos a habilitar el modo solo lectura para las categorías y los tipos.
Vamos a habilitar la paginación para toda la Rest Api.
Vamos a modificar el recurso para los comentarios para que solamente devuelvan los que tengan establecidos un elemento.
Vamos a implementar un conjunto de métodos para obtener todos los registros de nuestros modelos.
Vamos a obtener el detalle de un elemento por la url_limpia.
Vamos a replicar el ejercicio anterior en el resto de los métodos.
Vamos a conocer como podemos crear variables personalizadas para nuestro json.
En este curso aprenderás a trabajar con el framework PHP Django 3 o 4 desde cero; cuando termines el curso podrás crear aplicaciones en este framework básicas y no tan básicas de manera fluida.
Tendrás una idea clara de cómo atacar cualquier proyecto para el consumo y gestión de contenido por Internet, desarrollar los componentes fundamentales de una aplicación tipo Blog, o tienda en línea, y mediante sockets con Django Channels.
Vas a aprender a crear apps tradicionales con módulo administrador empleando Django admin, conocer los componentes base del framework como librerías, funciones de ayuda, manejo del MTV, creación de Rest Apis hechas a medias, consumirlas mediante Vue y adaptar tu ds con otras tecnologías como Bootstrap 4 o 5.
***IMPORTANTE***
Nosotros vamos a tratar múltiples tecnologías en este curso, pero centrándonos en el framework de Django 3 o 4 que es nuestro principal caso de interés, por lo tanto, emplearemos y explicaremos estas tecnologías relacionadas como Bootstrap en cualquiera de sus versiones hasta que sea necesario sin profundizar completamente en estas tecnologías relacionadas.
En el caso de Django, fué creado empleando la versión 3, pero lo presentado en el curso funciona para la versión 4.
En el caso de Bootstrap, el curso fue grabado con Bootstrap 4 pero se van dando pequeños tips para adaptar el desarrollo a Bootstrap 5 en donde sea necesario.
¿Qué aprenderemos?
A nivel técnico aprenderás ha trabajar con las siguientes características en Django:
Sobre Django
Requerimientos de Django y software a emplear
Primeros pasos con Python
Crear espacios virtuales e instalar paquetes
Instalar Django mediante la PIP
La herramienta de CLI de Django para crear aplicaciones, manejar migraciones y levantar el servidor
Explicar estructura de un proyecto en Django
Visual Studio Code como IDE para desarrollar
Manejo de las rutas
MTV
Trabajar con múltiples vistas (layout)
Conexión a la base de datos
Formularios para la gestión de datos y validación
Sesión y sesión flash
Carga de archivos
Redirecciones y mensajes por sesión
Seeder: Generar datos de prueba en nuestra aplicación
CRUD con los modelos
Conocer las librerías y funciones de ayuda principales en Django
Crear funciones de Ayuda o helpers personalizadas.
Creación de RestApis tipo CRUD
Módulo de usuario con login registro
Uso de los middleware para interceptar peticiones
Paquetes y aspectos generales
Integrar con PayPal
Personalizar el módulo administrador
Envío de emails
Carrito de compra
Integrar con Bootstrap 5
Crear apps en Vue con la CLI
CRUDs.
Integrar con Naive UI.
Consumir la Rest Api.
Tailwind.css.
Vistas Basadas en clase tipo CRUD y para el Login
Crear apps en Vue con la CLI
Manejo de CSVs y PDFs
Introducción a Alpine.js
En Bootstrap vamos a usar:
Nav
Cartas
Alertas
Modals
Tablas
Imágenes
Carrusel
Botones
Grid y contaniner
Font Awesome para los íconos
Proyectos o aplicaciones
Secciones para crear una aplicación de tienda en línea con PayPal y Stripe con listado de productos, filtros, login y pasarela de pagos.
Secciones para crear apps en Vue para consumir la Rest Api y comunicar con los websockets.
Secciones para crear una aplicación de chat y de alerta
Aplicación para generar y leer archivos excels y csv; generar pdfs.
Aplicación de to do con Alpine y Boostrap con una Rest Api en Django
Ventajas de desarrollar en Django y de tomar este curso
Django es un framework estupendo para ti y para comenzar en el mundo de desarrollo y adentrarse al desarrollo de apps con Python, es mucho más amigable que trabajar con otros frameworks
Ofrece una excelente organización modular, es un framework rápido, potente, con librerías y helpers listas para usar tanto de Django como de Python y extensible con paquetes y librerías de terceros; a su vez.
Visita las secciones del curso para más información.