
Un recorrido del proyecto final, que sirve de introducción para este curso de 'Probar Django 1.10'
¡Únete! Te esperamos en la primera lección!
Hacemos las instalaciones de Python, PIP, Virtual Environment y Django para poder empezar nuestro proyecto nuevo. ¡¡No te saltes este paso!!
Ya que tenemos todo instalado en nuestro ordenador, vamos a empezar un proyecto nuevo desde la línea de comandos e instalar Django dentro de nuestro entorno virtual. En tan pocos pasos ya tendremos nuestro primer proyecto de Django funcionando, es decir, cargado en el navegador!
Hacemos la primera migración para dejar configurada nuestra base de datos y para poder crear un superusario, algo que nos dará acceso a la interfaz administrativa de Django.
En el intérprete de comandos es dónde ejecutamos comandos para cargar el blog en el navegador web pero tenemos que escribir el código de nuestro proyecto en un editor de texto. Os enseño mi programa preferido y creamos la primera app dentro de nuestro proyecto. También creamos el primer modelo cuya función es hacer posible guardar una publicación de blog en la base de datos.
Si registramos nuestro modelo en el admin, podemos entrar en la interfaz administrativa de django y crear/añadir/modificar/eliminar objetos. ¡Qué cool!
Con el modelo registrado en el admin, podemos modificar el display (cómo se visualiza dentro del admin). Veremos una variedad de opciones que tenemos para su modificación.
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.
En menos de 3 minutos escribiremos nuestra primera vista para poder exponer HTML simple en nuestro navegador. En este curso vamos a usar "function views".
Cómo funcionan las páginas web? Este video pretende explicar el ciclo petición/respuesta, los métodos HTTP y cómo están conectados nuestras vistas y las URLs.
Ahora que entendemos la correlancia vistas-URLs, configuramos una sencilla URL para nuestra primera vista et voila! Renderizamos HTML en el navegador!
Hacemos una configuración de URLs más dinámica para nuestro blog.
Creamos nuestra primera plantilla. También es muy importante la configuración de templates en nuestro settings.py. Veremos cómo hacerlo correctamente.
Plantillas nos dan mucho juego en nuestro proyecto. Veremos como incorporar contexto (variables) y renderizarlos en una plantilla!!
Qué quiere decir "query"? Y un "queryset"? Veremos qué significa hacer una consulta a la base de datos y primero cómo hacerlo en Python shell (consola interactiva). Después aplicaremos el concepto a nuestro proyecto, escribiendo "queries" en nuestras vistas y después en una plantilla.
En programación existen muchos métodos "helpers" para ahorrarnos tiempo en escribir código y en este video veremos uno que aplicaremos a nuestro proyecto para excepciones.
Añadimos el "ID" de objeto como parámetro a nuestras URLs para que sean más dinámicas.
Hay varias maneras de crear enlaces para navegar en tu blog. Siguiendo buenas prácticas veremos por qué no queremos escribir rutas (paths) a fuego ("hard-coded") nunca. Se nos presenta otro método "helper" para estos enlaces internos del proyecto.
A lo mejor te interesa tener varios autores y contribuidores para tu blog pero sin que todos sean superusarios (con acceso a la interfaz). Para eso, hay una necesidad de crear algún tipo de formulario para crear posts nuevos. En este video nacerá ese formulario y la vista que se encargará de ello.
A lo mejor te interesa tener varios autores y contribuidores para tu blog pero sin que todos sean superusarios (con acceso a la interfaz). Para eso, hay una necesidad de crear algún tipo de formulario para crear posts nuevos. En este video nacerá ese formulario y la vista que se encargará de ello.
Seguimos desarrollando las demás vistas según el concepto CRUD. En este video: Update view.
El framework de Django tienen una gran variedad de componentes que facilitan gran cantidad de tareas. En este video veremos cómo configurar y escribir mensajes flash con el Django messages framework.
Seguimos desarrollando las demás vistas según el concepto CRUD. En este video: Delete view.
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 aspecto, herencia, que nos hace la vida mucho más fácil en cuanto a organización y tiempo.
Qué es un post sobre el viaje de tus sueños sin esas fotografías preciosas?! Imágenes, junto con CSS y HTML son considerados archivos estáticos. La configuración de ellas es importantísima ya que para desarrollo y producción son procesos distintos. Veremos cómo configurar nuestro proyecto para trabajar con archivos estáticos en un entorno de desarrollo.
Terminamos la configuración de archivos estáticos.
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.
A veces son los pequeños detalles los que hacen toda la diferencia entre algo cutre y una aplicación web pro. Para un blog la paginación es imprescindible.
Ahora que nuestro blog tiene la capacidad de almacenar archivos estáticos, vamos a añadir un campo al model "Post" para poder subir todo tipo de archivos.
Modificamos el FileField para que sea un campo específico para imágenes.
Queremos que todo el mundo sepa de tu blog, ¿no? Al blog añadiremos enlaces directos para compartir en todas las redes sociales más populares hoy en día (Facebook, Twitter, etc). Mejoraremos los enlaces con iconos de Fontawesome.
Vamos a ver por qué la codificación de URLs es importante para que tu página web sea más fácil de compartir. Después veremos cómo podemos crear tags personalizados para utilizar en nuestras plantillas.
Hasta ahora hemos estado utilizando el "ID" (o "pk" -clave primaria) de las publicaciones. Para un blog tiene más sentido utilizar slugs (url/posts/el-mejor-blog-del-mundo versus url/posts/3 *el ID de esa publicacion, creado para la organización en la base de datos.. difícil de compartir.)
Con slugify y señales de Django veremos qué hacer para que los slugs se generen automaticamente para cada publicación en nuestro blog.
Escribir permisos para prohibir a un usuario que no sea ni staff (personal) ni superusuario de crear/modificar/borrar posts.
Añadimos un campo a nuestro modelo que usará una clave foránea para relacionar posts a un usuario (autor) específico.
Creamos una sección de comentarios para cada post con Facebook social plugin --un complemento social para añadir comentarios, botones de "like", "share", etc...
Qué hacemos con los posts no terminados? En este video veremos cómo guardar esas grandes ideas como futuras publicaciones sin que se vean en el listado de blogs publicados.
Explicamos qué es un Model Manager y cómo crear uno para manejar nuestros borradores.
"Q" de django se utiliza para consultas complejas (cúando hace falta más de un filtro-especificación en la consulta de objetos)
Muchas gracias a todos por seguir este curso y por confiar en nosotros! Hay un segundo curso en esta serie de Crear un Blog Dinámico:
Probar Django 1.10 | AVANZAR EL BLOG
y ya está publicado!!! Os dejamos el link con descuento especial para nuestros alumnos de Udemy.
https://www.udemy.com/probar-django-110-avanzar-el-blog/?couponCode=BLOG2-UDEMY-ALUM
Saludos!
Probar Django 1.10 es un video tutorial de Django en el que se explica paso a paso cómo crear un blog dinámico y bonito. Es un curso ideal para gente sin mucha experiencia técnica en general o desarrolladores que no han trabajado anteriormente con Django, ya que es un framework que fomenta el desarrollo rápido junto a un diseño limpio y pragmático. Te enseñaremos lo fundamental y lo suficiente, para que te quedes con un proyecto robusto sin marearte.
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.
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 enfoque práctico está dirigido a gente motivada, tanto desarrolladores de otros frameworks como emprendedores con poca experiencia técnica pero con grandes ideas, impulsados a crear una aplicación web distinta, dinámica y atractiva.
Como 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. Está basada en varias técnicas, incluyendo herencia y encapsulamiento.
Siguiendo el curso, crearás un blog --pasito a pasito-- algo que te podría servir también como base para otro gran proyecto (un comercio online, por ejemplo). El objetivo es crear una página web con mucha funcionalidad.
A diferencia del curso Probar Django 1.9 (un curso para principiantes en el que creamos una página básica de aterrizaje --"landing page"), en este curso de Probar Django 1.10 vamos a llevar los aspectos fundamentales de Django más allá. Tanto las URLs en sí como el mapping de ellas serán más dinámicos. Haremos que nuestro proyecto sea más fácil de compartir, y veremos como hacer exactamente eso en las redes sociales más utilizadas hoy en día. Tenemos modelos como siempre, pero añadimos Model Managers. Creamos usuarios pero añadimos permisos y también utilizamos foreign keys para relacionar usuarios a sus publicaciones. Empleamos formularios como en cualquier otro proyecto pero añadimos el elemento de poder subir imágenes y exponerlas en el blog. Todo esto y mucho más.
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!
Elementos que cubrimos en este curso:
¿Por qué 'Probar Django 1.10'?
***Código fuente en nuestra cuenta de github: probardjango