djangocms-restΒΆ

Python version Django version Django CMS version License

Headless content delivery with Django CMS for modern, typed frontend apps.

djangocms-rest lets you use Django CMS as a headless backend for modern, typed frontend applications, while preserving the intuitive Django CMS editing interface. This makes it possible to build Django apps that combine CMS-driven content with decoupled frontend frameworks.

djangocms-rest exposes Django CMS content through a read-only REST API. It is based on the Django REST framework and provides OpenAPI 3 schema generation and a browsable API via DRF Spectacular.

MotivationΒΆ

Web development is increasingly adopting decoupled front ends for greater scalability, multi-channel content and team flexibility. djangocms-rest provides a solution to use Django CMS also as a headless backend.

πŸ‘‰ You already use Django CMS? No need for yet another tech stack.

Key FeaturesΒΆ

  • Easy integration β€” Integrates effortlessly into existing Django CMS projects.

  • REST API β€” DRF-based API exposing Django CMS content for SPAs, static sites, and mobile apps.

  • Typed Endpoints β€” Auto-generate OpenAPI schemas for page data and plugin content.

  • Plugin Serialization β€” Basic support for all CMS plugins, easily extendable for custom needs.

  • Multi-Site Support β€” Serve multiple websites from a single instance with isolated API responses.

  • Multi-language Content β€” Use the robust i18n integration of Django CMS in your frontend.

  • Preview & Draft Access β€” Fetch unpublished or draft content in your frontend for editing previews.

  • Permissions & Authentication β€” Uses DRF- and Django-permissions for secure access control.

  • Menus & Breadcrumbs β€” Exposes the built-in navigation handlers from Django CMS.

  • Caching & Performance β€” Works with Django cache backends like Redis and Memcached.

Getting StartedΒΆ

Follow our step-by-step tutorial to set up djangocms-rest in your project.