Django: Guía para la creación de un blog - Parte 1

Y acá comienza la aventura...

En esta serie de tutoriales vamos a estar realizando una aplicación django donde repasaremos todos los conceptos básicos con gran detalle, desde la instalación, preparación del entorno de desarrollo, modelos, vistas, plantillas, url, hasta temas más avanzados como migraciones, pruebas e implementación.

La aplicación que vamos a crear va a ser un blog, que esté optimizado para SEO, que sea rápido y bonito, en un principio la idea era usar flexbox, grid layout y css pero para centrarnos solo en django vamos a usar una plantilla de bootstrap que ya trae un tema blog bastante decente, la podemos descargar de startbootstrap.com

Este blog va a ser mi propio blog, el cual le iremos realizando actualizaciones y mejoras a lo largo del tiempo, ampliando así esta serie de tutoriales, luego de crear las funcionalidades más básicas lo vamos a subir a Heroku con un dominio personalizado y totalmente gratis.

Antes de comenzar déjame contarte porque elegí python, debo admitir que antes de meterme con python estuve aprendiendo java y php con laravel, sin embargo al dar los primeros pasos con este lenguaje me di cuenta de que era muy fácil y divertido crear cosas con él, también siento que es un lenguaje pilar en el mundo del Big Data, tema que me llama mucho la atención y en donde también me voy a estar metiendo, por esto y por las obvias razones del alcance y la potencia de este lenguaje es por lo que me decidí a centrar mis estudios y proyectos en él.

¿Por qué Django?

Django es un marco web escrito en Python. Un marco web es un software que admite el desarrollo de sitios web dinámicos, aplicaciones y servicios. Proporciona un conjunto de herramientas y funcionalidades que resuelve muchos problemas comunes asociados con el desarrollo web, como características de seguridad, acceso a bases de datos, sesiones, procesamiento de plantillas, enrutamiento de URL, internacionalización, localización y mucho más.

El uso de un marco web, como Django, nos permite desarrollar aplicaciones web seguras y confiables muy rápidamente de una manera estandarizada, sin tener que reinventar la rueda.

Entonces, ¿qué tiene de especial Django? Para empezar, cuenta con una amplia gama de bibliotecas de código abierto. El repositorio de Python Package Index aloja más de 200,000 paquetes. Si necesita resolver un problema específico, es probable que alguien ya haya implementado una biblioteca para ello.

Django es uno de los frameworks web más populares escritos en Python. ofrece una amplia gama de características listas para usar, como un servidor web independiente para desarrollo y pruebas, almacenamiento en caché, sistema de middleware, ORM, motor de plantillas, procesamiento de formularios, entre otras cosas . Django ofrece también aplicaciones integradas como un sistema de autenticación, una interfaz administrativa con páginas generadas automáticamente para operaciones CRUD, generación de canales de distribución (RSS / Atom), mapas de sitio. Incluso hay un marco de Sistema de Información Geográfica (SIG) construido dentro de Django.

El desarrollo de Django es respaldado por la Django Software Foundation, y está patrocinado por compañías como JetBrains e Instagram. Django está en desarrollo activo desde hace varios años, demostrando ser un marco web maduro, confiable y seguro.

¿Quién está usando Django?

Entre los sitios web más grandes que usan Django tenemos: Instagram, Disqus, Mozilla, Bitbucket, Last.fm, National Geographic. Para ver más ejemplos, puede ingresar a la base de datos de DjangoSites, que ofrecen una lista de más de 5 mil sitios web con tecnología Django.

 

Instalación

Lo primero que debemos hacer es instalar algunos programas en nuestra máquina para poder comenzar a jugar con Django. La configuración básica consiste en instalar Python , Virtualenv y Django, aclaro que yo utilizo Linux por lo que los pasos que voy a mostrar son para este sistema operativo, si tú utilizas otro sistema operativo como Windows (me pregunto porqué), pienso que deberias aprovechar y probar alguna distro de Linux.

El uso de entornos virtuales no es obligatorio, pero es muy recomendable. Si recién está comenzando, es mejor empezar con la mejor configuración posible ya que te ahorrará muchos problemas en el futuro.

Al desarrollar sitios web o proyectos web con Django, es muy común tener que instalar bibliotecas externas para apoyar el desarrollo. Usando entornos virtuales, cada proyecto que desarrolle tendrá su entorno aislado. Entonces las dependencias no chocarán. También le permite mantener en su máquina local proyectos que se ejecutan en diferentes versiones de Django.

 

Instalación de Python

Lo primero  que vamos a hacer es entrar a la página de Python, Ir a la sección de descargas y descargarnos la última versión para Linux.

Una vez descargado hacemos click derecho sobre el archivo y lo extraemos, luego desde una terminal ingresamos a la carpeta descargada.

cd nombre_directorio_desempaquetado
./configure
make
make install

 

Instalación de Virtualenv 

Virtualenv aísla tu configuración de Python/Django por cada proyecto. Esto quiere decir que cualquier cambio que hagas en un sitio web no afectará a ningún otro que estés desarrollando.

Todo lo que necesitas hacer es encontrar un directorio en el que quieras crear el virtualenv, en mi caso cree la carpeta PythonProjects donde instale el virtualenv cuyo nombre es .env

mkdir PythonProjects
cd PythonProjects

Se instala con el siguiente comando posicionados en la carpeta que elegimos.

python3 -m venv .env

Para activar el entorno virtual

source .env/bin/activate

Para desactivar entorno virtual

deactivate

Si te encuentras con errores copia el texto del error y pegalo en stackoverflow. seguro encontraras respuesta :)

 

Instalación de Django

Ahora que tienes tu virtualenv iniciado, puedes instalar Django.

Antes de hacer eso, debemos asegurarnos que tenemos la última versión de pip, el software que utilizamos para instalar Django:

(.env) ~ python -m pip install --upgrade pip

Intalamos Django

(.env) ~ pip install Django

Para verificar los paquetes que tenemos instalados

(.env) ~ pip freeze

Nos muestra

Django==2.2.5
pytz==2019.2
sqlparse==0.3.0

De esta manera se puede instalar la última versión de Python y Django en Linux, y dejar todo preparado para empezar un proyecto totalmente independiente en un entorno virtual.

 


 

INDICE PARTE 2