Core Concepts (Base Template)¶
The RhamaaCMS Base Template extends Wagtail with a set of opinionated defaults designed for production use.
Philosophy¶
The Base Template follows these principles:
- Convention over Configuration — Sensible defaults that work out of the box
- SEO First — Every page has built-in SEO optimization
- Performance — Caching, optimized images, efficient queries
- Accessibility — WCAG 2.1 AA compliant by default
- Developer Experience — Clear structure, helpful utilities
Key Components¶
-
BasePage
The foundation of all pages in your CMS. Includes SEO, listing fields, and caching.
-
StreamField
Flexible content blocks for rich page layouts.
-
Navigation
Site-wide navigation management with menus and settings.
-
Custom Images
Extended image model with focal points and renditions.
The utils App¶
The utils app contains shared functionality used across all templates:
utils/
├── models.py # BasePage, BaseSiteSetting
├── blocks.py # LinkBlock, StoryBlock
├── images/ # CustomImage, Rendition
├── navigation/ # NavigationSettings
├── cache.py # Cache utilities
└── templatetags/ # Custom filters
Template Architecture¶
The Base Template uses Django's template system with enhancements:
templates/
├── base.html # Master template with SEO, analytics
├── components/ # Reusable template components
└── 404.html, 500.html # Error pages
Next Steps¶
- Models & BasePage — Deep dive into page models
- Pages & Views — Creating custom pages
- Django Templates — Template system