Ir al contenido principal

Guía Estándar para Crear un Proyecto Wagtail

Guía Estándar para Crear un Proyecto Wagtail

Wagtail es un CMS moderno basado en Django que ofrece flexibilidad y un excelente panel de administración. Aquí te muestro cómo inicializar un proyecto Wagtail con un estándar profesional.

1. Configuración Inicial

Primero, creamos el entorno virtual e instalamos Wagtail:

# Navegar al directorio donde quieres crear el proyecto (puede ser cualquiera)
cd /ruta/a/tu/proyecto

# Crear entorno virtual
python3 -m venv venv

# Activar el entorno virtual
# En Linux/Mac:
source venv/bin/activate
# En Windows:
.\venv\Scripts\activate

# Instalar Wagtail
pip install wagtail

2. Crear el Proyecto Wagtail

Iniciamos un nuevo proyecto Wagtail:

# Crear proyecto (config es el nombre de la configuración principal)
wagtail start config .

# Instalar dependencias
pip install -r requirements.txt

# Migrar la base de datos inicial
python manage.py migrate

# Crear superusuario (sigue las instrucciones)
python manage.py createsuperuser

3. Configuración de la Aplicación Pages

Vamos a crear una aplicación personalizada para nuestras páginas:

# Crear la aplicación pages
python manage.py startapp pages

Edita el archivo config/settings/base.py para agregar la nueva aplicación:

# settings/base.py

INSTALLED_APPS = [
    'pages',  # Agregar esta línea
    'search',
    'wagtail.contrib.forms',
    # ... resto de aplicaciones ...
]

4. Crear Modelo de Página Principal

En pages/models.py, define tu modelo de página principal:

# pages/models.py
from wagtail.models import Page
from wagtail.fields import RichTextField
from wagtail.admin.panels import FieldPanel

class HomePage(Page):
    body = RichTextField(blank=True)

    content_panels = Page.content_panels + [
        FieldPanel('body'),
    ]

Aplica las migraciones:

# Generar y aplicar migraciones
python manage.py makemigrations
python manage.py migrate

5. Eliminar la Aplicación Home por Defecto

Para mantener nuestro proyecto limpio, eliminamos la aplicación home que viene por defecto:

# Eliminar la carpeta home
rm -rf home

# También elimínala de INSTALLED_APPS en settings/base.py
# Quita la línea 'home',

6. Estructura Actualizada del Proyecto

Tu proyecto ahora tendrá esta estructura:

.
├── config/               # Configuración principal del proyecto
│   ├── __init__.py
│   ├── settings/
│   ├── urls.py
│   └── wsgi.py
├── pages/                # Tu aplicación personalizada
│   ├── migrations/
│   ├── models.py
│   ├── templates/
│   └── ...
├── static/
├── templates/
├── requirements.txt
└── manage.py

7. Configurar la Página Principal

Para usar tu nuevo modelo como página principal:

# 1. Ve al admin de Wagtail (http://127.0.0.1:8000/admin/)
# 2. Elimina la página Home existente (si existe)
# 3. Crea una nueva página del tipo HomePage
# 4. En Configuración del sitio, establece esta página como raíz

8. Crear Template para HomePage

Crea un template específico para tu modelo:

# Crear la estructura de directorios
mkdir -p pages/templates/pages

# Crear el archivo del template
touch pages/templates/pages/home_page.html

Contenido básico de home_page.html:

{% extends "base.html" %}

{% block content %}
<h1>{{ page.title }}</h1>
{{ page.body|richtext }}
{% endblock %}

9. Ejecutar el Servidor de Desarrollo

Para ver tu sitio en acción:

# Ejecutar el servidor de desarrollo
python manage.py runserver

# Ahora puedes acceder a:
# - Frontend: http://127.0.0.1:8000/
# - Admin: http://127.0.0.1:8000/admin/

Comentarios

Entradas populares de este blog

Instalación y Configuración de MySQL 5.7 en Ubuntu 24.04 LTS

Instalar MySQL 5.7 en Ubuntu 24.04 1. Descargar e instalar MySQL Copiar mkdir ~/mysql57 cd ~/mysql57 wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz sudo mv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql 2. Instalar dependencias necesarias IMPORTANTE: Se descargan las versiones nuevas de las librerías y se las vincula con las librerías que necesita MySQL. Copiar sudo apt update # Reemplazo de libaio sudo apt install libaio1t64 # Reemplazo de libtinfo y ncurses sudo apt install libtinfo6 libncurses6 Copiar # Crear los enlaces simbólicos sudo ln -sf /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/libaio.so.1 sudo ln -sf /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5 sudo ln -sf /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64...

Instalar DeepSeek R1 1.5B en Ubuntu 24.04 sin GPU

Instalar DeepSeek en tu sistema sin GPU, pasos: Especificaciones del Entorno de Pruebas Componente Detalle SO Ubuntu Cinnamon 24.04 LTS x86_64 Kernel 6.8.0-51-generic CPU Intel i7-6820HQ (8 núcleos) @ 3.600GHz GPUs AMD ATI Radeon HD 8830M / R7 250 / R7 M465X Intel HD Graphics 530 RAM 15.882 GB (3.716 GB en uso) Resolución 1440x810 Escritorio Cinnamon 6.0.4 1. Instalar Git LFS sudo apt-get install git-lfs git lfs install 2. Clonar el repositorio cd /opt sudo mkdir deepseek && sudo chown $USER:$USER deepseek cd deepseek git clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B 3. Crear y activar un entorno virtual python -m ve...

Instalar Jasper Studio 6.21 para Ubuntu 24.04

Instalar js-studiocomm_6.21.3 en Ubuntu 24.4 Para instalar Jaspersoft Studio en Ubuntu 24.4, sigue estos pasos: 1. Descargar Jasper Studio Descarga la versión js-studiocomm_6.21.3 desde el siguiente enlace: Jaspersoft Studio 6.21.3 2. Crear el directorio de instalación mkdir /opt/jasperstudio 3. Mover el archivo descargado mv /dir_descarga/js-studiocomm_6.21.3_linux_x86_64.tgz /opt/jasperstudio/ cd /opt/jasperstudio 4. Extraer el archivo tar -xvzf js-studiocomm_6.21.3_linux_x86_64.tgz cd js-studiocomm_6.21.3 5. Ejecutar Jaspersoft Studio ./Jaspersoft\ Studio 6. Crear acceso directo en el escritorio Para facilitar el acceso, crea un archivo .desktop en el escritorio: gedit ~/Escritorio/jaspersoft-studio.desktop En el archivo jaspersoft-studio.desktop , agrega lo siguiente: [Desktop Entry] Version=1.0 Ty...