django CMS documentation#

django CMS logo

Philosophy#

The design philosophy of django CMS is to solve something complex with many simple things.

The core of django CMS is designed to be simple and integrate with simple packages to create complex applications. For example, you may add djangocms-versioning to manage versions of your content, djangocms-moderation to define workflows for how content moves from authoring to being published.

Overview#

django CMS is a modern web publishing platform built with Django, the web application framework “for perfectionists with deadlines”.

django CMS offers out-of-the-box support for the common features you’d expect from a CMS, but can also be easily customised and extended by developers to create a site that is tailored to their precise needs.

This is the developer documentation. To get an overview on how to use django CMS, see the django CMS User Guide.

Tutorials#

Start here as a new django CMS developer:

  • installation

  • using additional packages

  • creating your own addon applications.

How-to guides#

Practical step-by-step guides for the more experienced developer, covering several important topics.

Explanation#

Explanation and analysis of some key concepts in django CMS.

Reference#

Technical reference material, for

  • classes,

  • methods,

  • APIs,

  • commands.

Join us online#

The django CMS Association is a non-profit organisation that exists to support the development of django CMS and its community.

Slack#

Join our friendly Slack group for support and to share ideas and discuss technical questions with other members of the community.

StackOverflow#

StackOverflow is also a good place for questions around django CMS and its plugin ecosystem.

Why django CMS?#

django CMS is a well-tested CMS platform that powers sites both large and small. Here are a few of the key features:

  • robust internationalisation (i18n) support for creating multilingual sites

  • front-end editing, providing rapid access to the content management interface

  • support for a variety of editors with advanced text editing features.

  • a flexible plugin system that lets developers put powerful tools at the fingertips of editors, without overwhelming them with a difficult interface

  • …and much more

There are other capable Django-based CMS platforms, but here’s why you should consider django CMS:

  • thorough documentation

  • easy and comprehensive integration into existing projects - django CMS isn’t a monolithic application

  • a healthy, active and supportive developer community

  • a strong culture of good code, including an emphasis on automated testing

Software version requirements and release notes#

This document refers to version 4.1.0.

Long-term support (LTS)#

Django has a long-term support (LTS) policy which django CMS adapts.

Designated django CMS versions receive support for use with official Django LTS versions:

Current LTS table#

django CMS

Feature freeze

Django

End of long-term support

4.1 x

tbd

4.2

April 2026

3.2

April 2024

3.11.x

September 2023

4.2

April 2026

3.2

April 2024

After feature freeze, new features go into the next major version of django CMS.

Unsupported LTS versions#

The following LTS versions do not receive any support any more:

django CMS

Feature freeze

Django

End of long-term support

3.8 x

June 2020

2.2

April 2022

3.7.x

October 2020

2.2

March 2022

1.11

March 2020

Django/Python compatibility table#

LTS in the table indicates a combination of Django and django CMS both covered by a long-term support policy.

indicates that the version has been tested and works. × indicates that it has not been tested, or is known to be incompatible.

django CMS

Python

Django

3.12

3.11

3.10

3.9

3.8

3.7

3.6

5.0

4.2

4.1

4.0

3.2

3.1

3.0

2.2

4.1.x

×

×

×

LTS

LTS

×

×

×

3.11.3+

×

×

×

LTS

LTS

×

×

×

3.11.1

×

×

×

×

×

×

×

3.11.0

×

×

×

×

×

×

×

×

3.10.x

×

×

×

×

×

×

×

3.9.x

×

×

×

×

×

×

×

3.8.x

×

×

×

×

×

×

×

×

LTS

3.7.x

×

×

×

×

×

×

×

×

×

LTS

See the repository’s setup.cfg for details of dependencies, or the Release notes & upgrade information for information about what is required or has changed in particular versions of the CMS.

The Commonly Used Plugin section provides an overview of other packages required in a django CMS project.