Welcome to djangocms-frontend’s documentation!#


djangocms-frontend is a plugin bundle based on djangocms_bootstrap5. Its objective is to provide a set of popular frontend components independent of the currently used frontend framework such as Bootstrap, or its specific version.


Key features#

  • Support of Bootstrap 5.

  • Separation of plugins from css framework, i.e., no need to rebuild you site’s plugin tree if css framework is changed in the future, e.g., from Bootstrap 5 to a future version.

  • New link plugin allowing to link to internal pages provided by other applications, such as djangocms-blog.

  • Nice and well-arranged admin frontend of djangocms-bootstrap4

  • Management command to migrate from djangocms-bootstrap4. This command automatically migrates all djangocms-bootstrap4 plugins to djangocms-frontend.

  • Extensible within the project and with separate project (e.g., a theme app)

  • Accordion plugin.


The plugins are framework agnostic and the framework can be changed by adapting your project’s settings. Also, it is designed to avoid having to rebuild your CMS plugin tree when upgrading e.g. from one version of your frontend framework to the next.

django CMS Frontend uses django-entangled by Jacob Rief to avoid bloating your project’s database with css framework-dependent tables. Instead all design parameters are stored in a common JSON field and future releases of improved frontend features will not require to rebuild your full plugin tree.

The link plugin has been rewritten to not allow internal links to other CMS pages, but also to other django models such as, e.g., posts of djangocms-blog.

djangocms-frontend provides a set of plugins to structure your layout. This includes three basic elements

The grid

The grid is the basis for responsive page design. It splits the page into containers, rows and columns. Depending on the device, columns are shown next to each other (larger screens) or one below the other (smaller screens).


Components structure information on your site by giving them an easy to grasp and easy to use look. Alerts or cards are examples of components.


To nicely integrate formss into your page we recommend djangocms-form-builder which works stand-alone but also nicely integrates with djangocms-frontend.


Indices and tables#