django CMS documentation (original) (raw)
Toggle table of contents sidebar
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.
Discord¶
Join our friendly Discord server 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.4.
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.2.x | tbd | 5.2 | April 2028 |
4.1 x | September 2023 | 4.2 | April 2026 |
3.11.x | September 2023 | 4.2 | April 2026 |
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 |
---|---|---|---|
4.1.x | September 2023 | 3.2 | April 2024 |
3.11.x | September 2023 | 3.2 | April 2024 |
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.5+ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | × | ✓ | 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 theRelease 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.