Debido a que en la universidad donde estudio #Uncoma #Curza la materia Introducción a la Programación se da orientada al lenguaje #python me parecio realmente interesante dejar el lado #wordpress de mi vida y encarar esta entrada como una breve introducción a los cms con python, por lo cual decidi hacer esta entrada que obviamente denomine Instalar Wagtail un Sistema de Gestión de Contenidos con Python y Django, asi que sin más los dejo con #Wagtail

wagtail python django

Como siempre primero lo primero, y en este caso lo primero es saber un par de cositas:

¿Que es un CMS?

Del ingles Content Management System y pasado al cagastellano seria algo así como sistema de administración de contenidos. Basicamente seria como un software web que permite por instrucciones bastantes simples (como lo es redactar un archivo de texto) tener una web sencilla, o extremadamente complejo. Este blog por ejemplo esta basado en #Wordpress que es al día de hoy el que se lleva el 40% de los usuarios. Gratuito, de código abierto y escrito en lenguaje php. Wagtail esta escrito en Python, también es gratuito y de código abierto, lo unico es que está mucho menos explotado entonces en principio no hay tantas opciones como plantillas o plugins para “no programadores”.

¿Que es Python?

Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en la legibilidad de su código. Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, dinámico y multiplataforma. Si en este año te decides a progamar te cuento que python fue el lenguaje más utilizado, tiene una comunidad inmenza, mucha ayuda en castellano pero como siempre tenes que tener la regla culo silla que nos lleva a todos lados.

¿Que es Django?

Django es un framework (un software que nos permite crear software?) de desarrollo web de código abierto, escrito en Python, que respeta el patrón de diseño conocido como modelo–vista–controlador. La meta fundamental de Django es facilitar la creación de sitios web complejos. Django pone énfasis en el re-uso, la conectividad y extensibilidad de componentes, el desarrollo rápido y el principio No te repitas (DRY, del inglés Don’t Repeat Yourself). Python es usado en todas las partes del framework, incluso en configuraciones, archivos, y en los modelos de datos.

Ya sabiendo que son los 3 componentes más importantes vamos a ver como arrancar. Para mi la forma más sencilla es gracias a #docker con lo cual sino conocen los invito a ver:

Instalación de Docker sobre Ubuntu

Comandos más utilizados en Docker

Mi experiencia con Docker

Si llegaste hasta acá es por que verdaderamente estas interesado en este pequeño mundo y vale la pena!! Para instalar wagtail tendras que tener instalado:

  • Python 3.5 o superior
  • Tendras que tener instalado pip
  • docker y docker-compose
  • Conocer muy poquito de los comandos de docker para no estar tan colgado.

A continuación en una consola tendremos que tipear:

pip install wagtail
wagtail start miwebconpython
cd mysite
docker build -t miwebconpython .
docker run -p 8000:8000 miwebconpython

Luego con la ip de donde tenemos docker instalado (ya sea nuestra maquina, servidor o lo que fuera y el puerto 8000 veremos la pagina funcionando.

Para realizar la administracion pondremos: ip:8000/admin pero para crear un usuario por primera vez necesitamos correr estos comandos en el contenedor:

./manage.py createsuperuser

¿Como hacemos para correr un comando dentro del contenedor?

Por eso es importante ver los comandos de docker y de que va cada uno. En este caso necesitamos saber cual es el contenedor al que vamos a acceder entonces primero ejecutamos:

docker ps

En el resultado nos mostraŕa el ID del contenedor. Lo copiamos y luego ejecutamos:

docker exec -it IdDelContenedor /bin/bash

una vez adentro ejecutamos el comando que nos pedira el nombre, apellido mail y contraseña para el nuevo usuario administrador:

./manage.py createsuperuser

Una vez creado entramos a la pagina de administración y ahí ya es todo mucho más sencillo.

En el caso de que el servicio no levante o se haya apagado simplemente tipeariamos dentro del contenedor:

./manage.py runserver 0.0.0.0:8000
creando usuario
panel de administracion wagtail

Si conoces otros CMS seguramente vas a renegar por que tiene algunas “cositas conceptuales” que te hacen aprender! y eso es lo más interezante.

De todos modos desde acá vas a poder darte maña solito. Podes crear más usuarios pero ya no hace falta la terminal ya que desde el panel de administración lo haces facilmente:

creando usuarios wagtail

Estas tareas que se hacen desde el panel implicarían conocer mucho de python y django sin embargo están hechas así para que todo sea más sencillo.

mutisitio

Algo genial que tiene wagtail esde que desde el mismo panel de administración podes administrar más de un sitio como se ve en la imagen anterior.

En fin, otro cms pero esta vez basado en nuestro querido python con lo cual es algo nuevo para aprender y en que meterse de a poquito.

Pueden chequar:

  • https://docs.wagtail.io/en/v2.11.3/getting_started/tutorial.html
  • https://learnwagtail.com/

Un abrazo y espero les haya gustado!!

Print Friendly, PDF & Email
Share:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *