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
Publicar un comentario