
Haremos la instalación de Python, PIP, Virtualenv y Django para poder empezar el curso ¡¡No te saltes este paso!!
CRUD es un acrónimo (en inglés) y un concepto fundamental de desarrollo web. Las letras representan elementos presentes en casi todas las aplicaciones web.
Create, Read(o retrieve), Update, Delete --también podemos incluir List y Search,
en español quiere decir, en cuanto a objetos: crear, recuperar (hacer consultas a la base de datos), actualizar, eliminar/borrar --listar y buscar son parecidos a 'recuperar'
Y para seguir este concepto e implementarlo en nuestro proyecto, vamos a escribir vistas para cada elemento.
Crearemos un modelo cuya función es hacer posible guardar objetos en la base de datos. Los campos de nuestro modelo serán los atributos de cada objeto.
Hacer migraciones es algo que hacemos para asegurarnos de que nuestros modelos y la base de datos estén sincronizados.
Si registramos nuestro modelo en el admin, podemos entrar en la interfaz administrativa de django y crear/añadir/modificar/eliminar objetos. ¡Qué cool!
Veremos la importancia de utilizar el intérprete interactivo de Python (Python Shell) para hacer pruebas de nuestro modelo.
Crearemos campos nuevos en nuestro modelo dónde cada uno (FieldType) es un atributo distinto.
Añadiremos un campo a nuestro modelo que usará una clave foránea para relacionar objetos de nuestro modelo Libro a un usuario utilizando el User Model ya integrado en Django.
Veremos otro tipo de Clave Foránea y otro tipo de relación de objetos.
Abriremos el Python Shell de nuevo para hacer testing de nuestros campos nuevos del modelo.
Siguiendo buenas prácticas veremos por qué no queremos escribir rutas a fuego ("hard-coded") nunca. Presentaremos otro método "helper" para enlaces internos del proyecto.
Modificar datos antes o después de guardarlos en la base de datos es posible...con señales. El ejemplo que pondremos se relaciona con el slug del objeto.
Explicaremos qué es un Model Manager y cómo crear uno para filtrar varios Querysets
Antes de crear y expandir nuestras plantillas es muy importante la configuración de ellas en el archivo settings.py. Veremos cómo hacerlo correctamente.
El título explica todo lo que haremos en este vídeo. Vamos a generar una plantilla, escribiendo código en las vistas.
Las plantillas nos dan mucho juego en nuestro proyecto. Veremos como incorporar contexto (variables) y renderizarlos (generar y exponerlo) en una plantilla!!
Ya hemos dicho y visto que las plantillas dan vida a nuestro proyecto. Pero no queremos volvernos locos con repetición de código. Templates de Django tiene un concepto, herencia, que nos hace la vida mucho más fácil en cuanto a organización y tiempo.
Bootstrap es un frontend framework (quiere decir diseño) que nos encanta para dar un toque especial a nuestros proyectos. Vamos, es un lujo! Por qué? Porque nos permite añadir un diseño limpio y bonito al proyecto sin provocarnos dolor de cabeza.
Seguimos con el diseño en las plantillas con etiquetas de estilo, bloques y CSS.
{% for %} y {% if %} son algunos de los tags ya integrados en Django, que podemos implementar en nuestras plantillas. Pondremos varios ejemplos, y como siempre recordaremos la importancia de seguir la documentación estupenda de Django para cualquier duda que surja.
Utilizamos el tag {% include %} para mantener nuestras plantillas limpias y fáciles de leer. Genial para el funcionamiento y la organización del código.
Veremos la gran variedad de filtros que tenemos para elegir y aplicar a las variables de las plantillas.
Nuestro turno de crear template tags propios!!!
Un ejemplo muy básico de qué es una function view y qué tiene que ver con el ciclo "petición-respuesta".
Una vista para la "C" del acrónimo "CRUD"... crear objetos (instancias) nuevos.
Una vista para la "R" del acrónimo "CRUD"... detail view: para generar la información sobre un sólo objeto y exponerla en el navegador mediante una plantilla.
Una vista para la "R" del acrónimo "CRUD".. recuperar/leer: esto es un Queryset, un set de objetos.
Una vista para la "U" del acrónimo "CRUD".... update: quiere decir actualizar o modificar un objeto ya creado y guardado en la base de datos.
Una vista para la "D" del acrónimo "CRUD"... veremos cómo borrar objetos.
Se utilizan decoradores para personalizar y hacer más dinámico nuestro proyecto. Este ejemplo es para que solo los usuarios con sesión iniciada (en este caso son usuarios con acceso al admin) tengan permitido ver los datos que tenemos expuestos.
Introducción cortita a las vistas basadas en clases.
El ejemplo más básico de las Class Based Views (CBVs). Sin haber creado plantilla, podemos cargar info en el navegador porque las vistas basadas en clases básicas se heredan de una clase ya creada en Django.
Seguimos con la Template View...
Una CBV para la "R" del acrónimo "CRUD"
Una vista para la "R" del acrónimo "CRUD"... recuperar de la base de datos y listar los objetos
Una vista para la "C" del acrónimo "CRUD"
Una vista para la "U" del acrónimo "CRUD"
Una vista para la "D" en el acrónimo "CRUD"
Parecido al decorador que hemos escrito en nuestras Function View, para CBVs escribimos Mixins para no repetir código y crear un parámetro de "staff member required".
Veremos cómo escribir un formulario básico y renderizarlo.
La idea es guardar los datos generados a través del formulario. Habrá que aprender algo sobre métodos HTTP...
Validaciones! Para asegurarnos de que los datos estén OK!
Escribiremos un modelo y la integraremos en la interfaz administrativa
Más validaciones y más campos para el formulario
Guardar datos en la base de datos con el formulario y el modelo!
Otra manera de trabajar con formularios es utilizar un modelo ya que con ModelForms de Django podemos generar un formulario aprovechando los campos del modelo. Hay muchas ventajas de hacerlo así. Veréis...
Complementos que dan personalidad y personalización a nuestros formularios.
Podemos renderizar más de uno del mismo formulario? Claro que sí! Con formsets...
El mismo concepto que en el video anterior pero utilizando el modelo.
Por último... algún detalle más sobre como modificar un queryset (set de datos generados a través del formulario).
Ahora qué? Has aprendido Django. Has creado una aplicación web supermegachula. Ahora a lanzarlo.. a llevarlo a producción! Para que todo el mundo la vea y la visite! Veremos cómo hacerlo con Heroku.
Probar Django | Principios Fundamentales del Framework es un video curso de Django en el que se examinan en detalle todos los aspectos fundamentales del framework: Modelos, Vistas, Plantillas y Formularios. También van incluidos en el curso otros dos pasos muy importantes: Instalaciones & Deployment (cómo empezar y terminar tu proyecto). Para crear una aplicación web con Django hay que comprender cómo estos componentes trabajan juntos para poder desarrollar tu proyecto siguiendo las buenas prácticas de cada uno de ellos y el concepto CRUD.
Crear el proyecto de tus sueños en poco tiempo.
Django es un backend framework de código abierto y de alto nivel, utilizado por Instagram y Pinterest. Con Django es posible construir aplicaciones web muy útiles y poderosas para todos tus proyectos. Está escrito en Python, un lenguaje de programación potente y muy expresivo, es perfecto tanto para expertos como para principiantes.
¿Por qué Django? Es un framework que fomenta el desarrollo rápido junto a un diseño limpio y pragmático. Te enseñaremos lo fundamental para que te quedes con un conocimiento suficiento para poder empezar un proyecto robusto de Django.
Las comunidades de Django y Python no dejan de crecer, únete y verás las posibilidades que te salen!
Resumen del Curso
Este curso con un enfoque práctico está dirigido a principiantes (de Django y de programación) y gente motivada, como emprendedores con poca experiencia técnica pero con grandes ideas, impulsados a crear una aplicación web distinta, dinámica y atractiva. En el curso analizaremos y diseccionaremos el framework, aprendendiendo poquito a poco cómo funcionan todos sus elementos.
Como el framework Django está escrito en Python, aprenderás el concepto de programación orientada a objetos (POO, u OOP según sus siglas en inglés), un paradigma de programación que usa objetos en sus interacciones, para diseñar programas informáticos.
Al terminar este curso (en el que utilizamos versión 1.9 de Django) los alumnos podrán seguir nuestro curso de Probar Django | Crear una Aplicación Web en Python, completamente gratuito en esta misma plataforma de Udemy, en el que SÍ creamos nuestro primer proyecto, poniendo en práctica todo lo que hemos aprendido en el curse de los Principios Fundamentales de Django. En el curso disponible actualmente se usa Django 1.9 para crear una página de aterrizaje (landing page) en poquito tiempo. Próximamente saldrá Probar Django | Crear una Aplicación Web en Python usando la versión más actual de Django (1.10).
Por último, las explicaciones son suficientemente básicas para que las puedan entender principiantes. Es decir, no te explicaré "en marciano". Quiero que tu experiencia con Django sea agradable NO frustrante!
En este curso cubrimos el 'cómo' y el 'por qué' de los siguientes elementos:
¿Por qué 'ProbarDjango | Principios Fundamentales del Framework para principiantes'?