CMS

This page lists a few well-known reusable Content Management System applications for Django and tries to gather a comparison of essential features in those applications.

Add package to the grid

Add new feature to the grid

Highlighted cells are editable. Click highlighted cells to change text.

Features currently being evaluated

FeatureDescription
Revision  Builtin revision controlled content
Page Sorting  Visual rearranging of page hierarchy (as opposed to entering index numbers)
Tags  Builtin tag support
Page Depth  Maximum depth of page hierarchy.
Documented  Contains thorough documentation.
Tests  Contains a suite of unit tests.
SEO  Builtin tools for SEO
Multisite  Allows a single installation to serve multiple websites.
WYSIWYG Editor  Support for WYSIWYG editor(s) and/or markup formats.
South Support  Allows south to be used to migrate the database.
List of Sites  Is there a list of sites online that use the CMS?
Main focus  What is main target use case for the application (blogs, personal pages, web
magazines)?
Media asset merging and compression  Media assets JS/CSS are compressed in production mode, with a minimal effort
Granular Permissions  Is a granular permission system provided?
App Integration  Does the CMS support integration of any Django app which provides at least a
urls.py?
Multilingual  Full builtin multilingual support.
Django Versions  Which versions of Django are supported?
Pypi Installable  Can be automatically installed with dependency resolution via pip or setuptools.
Continuous Integration  Does the project have a (public) continuous integration server showing the
community it's current build status?
508 compliant?  See http://webaim.org/standards/508/checklist
Python 3 compatibility  
Multi-device  Can a single instance serve up different templates for different devices? (eg
mobile phones)
Multi-Tenant  If the CMS supports multiple sites, can they all be hosted from a single running
instance of the application?
Moderation Workflow  Allows for complex, enterprise-ready moderation workflows with hierarchical
permission levels and previews of unpublished changes.
Django 1.7 Support  Whether the project also supports Django 1.7.
In-line Editing / Frontend-Editing  Support for editing page content in-line (as opposed to only in the Django
admin)
Reuse CMS for a custom content type  Is it possible to reuse the CMS for a custom content types (different from the
Page model itself). Example of such would be a Document model tree having the
same management interface as the Page model.
Plugins  The content of the pages can be easily extended by 3rd-party apps.
Test coverage  The current test coverage of the package in percent.
Demo Site  If the application has a public demo site, a link and login/password are given.
Package Django CMS Wagtail CMS Mezzanine feinCMS django-fiber ella django-categories django-widgy Opps Django page CMS Arkestra django-gitcms PyLucid CMS LFC - Lightning Fast CMS django-fluent-pages Philo Tango Djedi CMS djpcms Leonardo CMS django-stories ionyweb django-dockitcms zorna gnocchi-cms CMS-Image-Plugin swingcms django-addendum dotulu django-leaf django-simplepages Merengue
Package Django CMS Wagtail CMS Mezzanine feinCMS django-fiber ella django-categories django-widgy Opps Django page CMS Arkestra django-gitcms PyLucid CMS LFC - Lightning Fast CMS django-fluent-pages Philo Tango Djedi CMS djpcms Leonardo CMS django-stories ionyweb django-dockitcms zorna gnocchi-cms CMS-Image-Plugin swingcms django-addendum dotulu django-leaf django-simplepages Merengue
Description The easy-to-use and
developer-friendly CMS
A Django content management
system focused on flexibility
and user experience
CMS framework for Django A Django-based CMS with a
focus on extensibility and
concise code
Django Fiber - a simple,
user-friendly CMS for all your
Django projects
Ella is a CMS based on Python
web framework Django with a
main focus on high-traffic
news websites and Internet ...
This app attempts to provide a
generic category system that
multiple apps could use. It
uses MPTT for the tree ...
A CMS framework for Django
built on a heterogenous tree
editor.
A Django-based CMS for the
magazines, newspappers
websites and portals with
high-traffic
Official Django page CMS git
repository
Arkestra extends Django CMS to
provide an intelligent
semantic web publishing system
for organisations and
institutions.
A git based cms for django PyLucid is a Open Source web
content management system
written in Python using the
Django Framework.
Lightning Fast CMS A flexible, scalable CMS with
custom node types, and
flexible block content.
Foundation for web content
management systems using
Django.
Faster, simpler Django content
management
Django content management as
it should be
DISCONTINUED CMS for everyone, easy to
deploy and scale, robust
modular system with many
packages
An application for handling
newspaper-like stories on a
web site.
An API drived, javascript
modification UI CMS based on
django framework
CMS written using
django-dockit
Open source, Django based CMS
and collaborative web portal
A simple pages-and-templates
CMS with a bit more :)
Adapation of the Arkestra
image plugin, simply for
djangoCMS
SwingCMS is a Content
Management System focused on
three main goals: simplicity,
flexibility and solidity. It
is builted on top ...
Easily edit arbitrary text
snippets on a site without a
full-fledged CMS or issuing
another site release. Like a
mini-CMS ...
Django CMS powered by Django
Creation ...
Render django templates based
on URL.
CategoryFrameworkFrameworkFrameworkFrameworkAppFrameworkAppAppFrameworkAppFrameworkFrameworkFrameworkFrameworkAppFrameworkFrameworkAppFrameworkFrameworkFrameworkAppFrameworkFrameworkAppAppProjectAppFrameworkAppFrameworkFramework
# Using This133227248197132132034320011010010010004
Python 3?
Development Status Production/Stable Production/Stable Production/Stable Production/Stable Production/Stable Beta Unknown Beta Production/Stable Production/Stable n/a Beta Beta Beta Beta Unknown Beta Unknown Beta Production/Stable Unknown Planning Alpha n/a n/a n/a n/a Beta n/a Production/Stable n/a Unknown
Last updated Aug. 30, 2015, 3:23 a.m. Aug. 28, 2015, 6:08 p.m. Aug. 27, 2015, 5:18 p.m. July 7, 2015, 3:14 a.m. July 29, 2015, 6:27 a.m. April 1, 2014, 8:45 p.m. Aug. 12, 2015, 1:09 p.m. Aug. 20, 2015, 5:58 p.m. July 11, 2015, 5:15 p.m. July 29, 2015, 10:35 a.m. July 18, 2015, 6:37 a.m. Jan. 3, 2015, 8:13 a.m. Aug. 27, 2015, 8:48 a.m. Oct. 16, 2011, 8:59 a.m. Aug. 27, 2015, 5:48 a.m. Feb. 1, 2012, 10:08 a.m. May 7, 2015, 9:06 a.m. March 25, 2015, 12:07 p.m. Feb. 19, 2014, 1:56 p.m. July 24, 2015, 6:22 p.m. May 2, 2011, 8:54 a.m. April 7, 2013, 4:23 a.m. April 15, 2013, 2:42 p.m. May 15, 2015, 11:25 a.m. July 16, 2015, 4:35 a.m. Feb. 5, 2012, 2:12 a.m. March 30, 2012, 5:12 p.m. April 16, 2015, 1:33 p.m. Aug. 30, 2015, 10:35 a.m. Aug. 24, 2015, 3:34 p.m.
Version3.1.21.0rc24.0.11.11.01.23.0.131.3b80.7.10.2.111.8.1n/a0.41.6.11.2b30.9c10.9.20.7.11.0b80.9a12015.7.31.0beta10.30.0.11n/an/an/an/a-0.2.0-n/a2.1.2n/a0.9.0
RepoGithubGithubGithubGithubGithubGithubGithubGithubGithubGithubGithubGithubGithubBitbucketGithubGithubGithubGithubGithubGithubGithubGithubGithubGithubBitbucketGithubBitbucketGithubGithubGithubOtherOther
Commits
Stars3606286023456215082592482282192021446960585551282723231413108743111n/an/a
Repo Forks1395425906208826399306876321312923102112113433n/an/an/an/an/an/an/a
Participantsdigi604
yakky
ojii
FinalAngel
mkoistinen
chrisglass
fivethreeo
vxsx
evildmp
piquadrat
more...
kaedroho
gasman
davecranwell
spapas
nealtodd
tomdyson
nimasmi
zerolab
timheap
jeffrey-hearn
more...
stephenmcd
AlexHill
jerivas
invalid-email-address
wrwrwr
Kniyl
sebasmagri
joshcartme
kenbolton
dfalk
more...
matthiask
acdha
DrMeers
bmihelac
sbaechler
stephrdev
bjornpost
jphalip
mattd
skyl
more...
dbunskoek
markotibold
mbraak
mvdwaeter
bsimons
bheesink
jbovenschen
vdboor
ramonakira
cscheng
more...
HonzaKral
whit
kvbik
xaralis
iky
aleszoulek
mbambas
czervenka
avelino
Almad
more...
coordt
jsoa
justquick
tgecho
epicserve
yakky
miceno
iepathos
joshourisman
numerodix
more...
gavinwahl
acatton
justinstollsteimer
zmetcalf
jxcl
chroto
agroth
nolsto
davesque
JulianAndrews
more...
avelino
rochacbruno
ellisonleao
lerrua
hersonls
mauler
Londerson
DiegoYungh
jeanmask
ervilis
more...
batiste
wardi
jezdez
jbeaurain
matinfo
cinghiale
facconi
nicksergeant
aaloy
a-iv
more...
evildmp
darbula
bubenkoff
eclan
spacedman
KristianOellegaard
christianmlong
hejsan
foobacca
ojii
luispedrojedie
ckolumbus
diefenbachvdboor
vinnyrose
gannettchad
borgstrom
bashu
sjdines
maartendraijer
techdragon
floppya
benkonrath
more...
melinath
jspiros
harrislapiroff
kgodey
derega
tBaxter
kennethlove
whatisjasongoldstein
lundberg
chrippa
andreif
hannseman
vtrrsl
lsbardelmichaelkuty
cznewt
coordt
josesoa
rlewko
toddstowell
twtwebdev
wavrin
justquick
Natim
mickaelperrier
zbyte64nouaya
zorna
nam4dev
funkybobcrookseyfabiomichelinibennylope
jonashagstedt
djangocreation
tisspage
rsenk330
Documentation N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
Revision , with django-reversion , see http://docs.wid.gy/en/latest/design/versioning.html , with django-reversionPlanned  planned, please contribute , with django-reversion 
with django-reversion
Planned
Page Sorting  Drag'n'Drop  Via visual interface (uses a mobile device friendly paradigm instead of drag-and-drop)  Drag n drop  Drag'n'drop  Drag'n'Drop  not required for the target use case  not required  Drag'n'Drop and normal clickedit page and change parentCut'n Paste  Drag'n'DropDrag'n'dropDrag'n'drop 
Drag and drop
Tags , with something like django-taggit  with tagging plugin  flat text tag field for better performance  with django-taggit , with django-tagging  possible through custom page types , with django-taggit 
with translatable tags
Page DepthDatabase limited using django-mpttUnlimitedUnlimited, using a single DB query.Database-limited using django-mpttDatabase limited using django-mpttUnlimited with custom implementationIf using the widgy-mezzanine plugin, please refer to Mezzanine.

Otherwise, there is a 64 level depth limit on the content of a page from the django-treebeard MP_Node implementation
Database limited using django-mpttDatabase limited using django-mpttDatabase limitedUnlimitedDatabase limited using django-mpttDatabase limited using django-mpttunlimitedDatabase limited using django-mpttDatabase limitedDatabase limitedUnlimited, using hierarchical menus
Documented  http://wagtail.readthedocs.org/en/latest/index.html  http://docs.wid.gy 
django-leonardo.readthedocs.org
Tests 
Unit tests and selenium test suites
SEO
Multisiteprovided by Mezzanine if using the widgy-mezzanine plugin 
By microsites plugin
WYSIWYG Editor  with plugins , widgy provides a custom drag and drop editor, see http://docs.wid.gy/en/latest/design/javascript.html, it's extensible and can be used to create powerful things, like Forms and Maps.  OppsEditor
- TinyMCE
- Redactor
- Aloha
  any WYSIWYG editor supported 
any WYSIWYG editor supported
 
CKEditor for Pages
Codemirror for Templates and CSS
  (FCKEditor)
South Support  Full schema and data migrations for South are included  FeinCMS itself does not use South. Using South in your FeinCMS-using projects is fully supported though.  migrations are provided and maintainedProvides migration scripts based on South.  but primary use Django migrations 
All models created with south
List of Sites 

Case Studies: https://www.django-cms.org/en/case-studies/

List of Sites: https://www.django-cms.org/en/case-studies/list/
 

List of sites:
https://github.com/torchbox/wagtail/wiki/Public-Wagtail-sites
  Gallery of over 250 sites: http://mezzanine.jupo.org/sites/  Almost everything here: http://www.feinheit.ch/portfolio/projekte/https://www.djangopackages.com/packages/p/django-fiber/See in the docs: http://ella.rtfd.org/http://www.oppsproject.org

# using

http://www.virgula.com.br
http://www.guiame.com.br
http://www.grupotroiano.com.br
http://www/jovempan.com.br
http://www.partidopirata.com.br
Multilingual and multisite:
https://www.moulin.nl/
http://www.waka-waka.com/
http://wakawakafoundation.org/
http://www.solarforsyria.org/
http://www.solarforphilippines.org/

Single instances:
http://django-fluent.org/
http://studentbattle.nl/
http://www.edoburu.nl/
http://demo.cms.robotice.czhttp://www.swingcms.net/view/folder/5  http://www.merengueproject.org/
http://spinoff.ugr.es/
http://ofertaimasd.ugr.es/
Main focusDjango CMS is built to be extended because every page has other requirements. Our focus is on the most flexibility for the developer AND the content manager.Wagtail was created to offer maximum flexibility for developers and the best possible experience for content editors and creators, with powerful best-in-class core functionality which ranges from integration of ElasticSearch to automatic feature detection for intelligent cropping of photos.

Wagtail's editing interface is entirely independent of Django Admin / Grappelli. It has been custom designed for optimal user experience, and it is lightweight, responsive, and fast.

Although it will happily power a blog or small website, Wagtail is a compelling choice for large-scale and enterprise projects. It can be used to implement websites of any size, scaling to cope with many thousands of pages (for example http://www.rca.ac.uk, which has over 10,000) and incorporating high end features like native support for automated cache invalidation for frontend caches such as Varnish, Squid, etc.
Redesigned interface on top of Django's admin (all your third-party apps supporting Django admin will still work!) for managing a hierarchical page tree, with page types extendable via core API.

Included page types range from simple WYSIWYG pages, to advanced types such as admin user built forms, and shopping categories via Cartridge.

Many extras included such as blogging, multi-lingual content, user accounts, tagging, ratings, media library, thumbnailing, and threaded comments.

Content can also be edited inline on the site itself.
Being the most flexible CMS system by providing 1. a CMS for managing a tree of pages and 2. providing the basic building blocks to build your own modules such as blogs, articles etc. and being able to reuse CMS content types.

Short: Customization, reuse, reuse and reuse.
Django Fiber is a simple, open-source, user-friendly CMS for all your django projects. It complements your project, it doesn't take it over.

It allows you to create simple textual, template based pages, add simple content items in pages and views, and adds simple menus that always work.

All this can be maintained using a friendly frontend admin interface.
Content-rich news websites and magazines, blogs. Can be used for personal pages too though.django-widgy is a heterogeneous tree editor for Django that is well-suited for use as a CMS. A heterogeneous tree is a tree where each node can be a different type—just like HTML. Widgy provides the representation for heterogeneous trees as well as an interactive JavaScript editor for them. Widgy supports Django 1.4+.

Widgy was originally created for powerful content management, but it can have many different uses.

It provides optional integration with Mezzanine using widgy_mezzanine.
High traffic flexible content portals and magazines with API integrations and automated contentDjango page CMS focus on Page hierarchy with rich content. It aims to be a building block that integrate into the admin seamlessly and that you can complement with your own Django applications. Scalability and performance.

Starting from small and simple sites up to large content-rich sites.
Custom page types give developers the flexibility to create the best possible experience for content managers.
Djedi CMS is a lightweight but yet powerful Django content management system with plugins, inline editing and performance in mind.

Easily described as gettext on steroids with revisions and plugins.

Supports multilingual and local flavored translations accessible from views and templates.
Media asset merging and compressionCan and should be handled by 3rd party apps  Built-in optional integration with django-compressorAsset collection from content types / plugins: Yes
Compression: No, should be done in 3rd party app
  using django-compressorshould be handled by 3rd party tool  with django-compressor , in django-compressor branch  in trunkCan and should be handled by 3rd party apps (e.g. django-compressor)
Granular PermissionsEasily buildable using request processors. , permissions down to the widget level  possible by integrating django-guardian
App Integration  Django Fiber itself integrates with Django, so it's the other way around. This means the full power of Django can be used for apps, and Django Fiber will play along nicely. , django-widgy is just an app, additionally if you wanted to add apps into the Mezzanine page tree, check out widgy.contrib.urlconf_include.  yes yes yes

yes extendable with Opps-Apps

+20 apps already available in github repo
 ++
Is an app itself, and features easily utilised transparently by other apps
Multilingual  Multi-lingual interface and multi-lingual DB content  not often used in target use case
Django Versions1.1 (2.0.x)
1.2 (2.1.x)
1.3 (2.2.x)
1.4 (2.3.x)
1.5 (2.4.x)
1.6 (3.0.x)
1.7 (3.0.6)
1.6
1.7
Mezzanine 4.0 supports Django 1.7 and 1.8

Earlier versions date back to Django 1.1
1.4.x
1.5.x
1.6.x
1.7.x
1.4, 1.5, 1.6, 1.71.1 (for version 1.2.*)
1.3 (for versions 2.* and 3.*)
1.4 - 1.6, 1.7 support is limited by Mezzanine1.31.4
1.5
1.6
1.4
1.5
1.7+1.1+ (1.0)
1.3 (1.1)
1.31.1 (0.7.X)
1.3 (0.8.X)
Pypi Installable
Continuous Integrationhttps://travis-ci.org/divio/django-cms/  https://travis-ci.org/torchbox/wagtail  http://travis-ci.org/stephenmcd/mezzanine  https://travis-ci.org/feincms/feincms  http://travis-ci.org/#!/ridethepony/django-fiberhttps://travis-ci.org/ella/ellahttps://travis-ci.org/fusionbox/django-widgy 
- https://drone.io/github.com/opps/opps/latest
- https://travis-ci.org/opps/opps

https://travis-ci.org/batiste/django-page-cms  https://travis-ci.org/edoburu/django-fluent-pageshttps://travis-ci.org/5monkeys/djedi-cms 
https://travis-ci.org/django-leonardo/django-leonardo
508 compliant?
Python 3 compatibility  (In version 3.0 and higher Python 3.3 and higher are supported)  Currently supports 3.2, 3.3, 3.4  Python 2.7 to 3.4  Python 3.2
+ Python 3.3
Multi-device  Editing UI is fully responsive
Multi-Tenantdjango.contrib.sites is supported
Moderation Workflow  Currently supports single-stage moderation  One-step draft/published and pre-dated publish , see http://docs.wid.gy/en/latest/contrib/review-queue/index.html  in a very basic way  planned, please contribute
Django 1.7 Supportwaiting on Mezzanine for Django 1.7 support
In-line Editing / Frontend-Editing  (In 2.1+)  not required for target use case  not required  planned
Reuse CMS for a custom content typeAll widgets are implemented this way, see http://docs.wid.gy/en/latest/tutorials/first-widget.html and http://docs.wid.gy/en/latest/tutorials/proxy-widget.html

(for page types using widgy_mezzanine, please refer to Mezzanine docs)
Plugins  Most enhancements are code reviewed and rolled into the core. 'Contrib' modules include static site generation, sitemap generation and frontend cache validation management.  Extendable content types and seamless no-config integration with external Django apps. Check out the Mezzanine grid on Django Packages: http://www.djangopackages.com/grids/g/mezzanine/Core design philosophyDjango Fiber itself can be considered a plugin for Django, which we believe is the right way to go.  core design philosophy  all widgets are just Django models + a template, all of the widgets are actually implemented as contrib apps. Here's how to write a widget: http://docs.wid.gy/en/latest/tutorials/first-widget.html  extendable with Opps-Apps  by subclassing a placeholder +

custom page type models
flexible content blocks (via django-fluent-contents)
 
Installed by webmaster, without change settings.INSTALLED_APPS
Test coverage87%93% https://coveralls.io/r/torchbox/wagtail?branch=master70%83%75%85%31 %About 90%80 %94%
Demo Sitehttp://demo.django-cms.org/  A feature complete demo package is provided for easy local installation - https://github.com/torchbox/wagtaildemo/  http://mezzanine.jupo.org  https://github.com/ridethepony/django-fiber-examplehttp://demo.wid.gy/create-demo-site/http://demo.pylucid.net/http://demo.django-lfc.com/, http://trunk.django-lfc.com/http://djpcms.comhttp://demo.cms.robotice.czhttp://dockitcmsdemo.herokuapp.com/http://demo.merengueproject.org/
admin/admin
Search WeightPackageDescriptionLast PyPI release:Repo ForksStars
{{ item.weight / max_weight * 100 | number:0 }}%{{ item.title }}Grid: {{ item.description }} {{ item.last_released | date: 'mediumDate' }} N/A {{ item.repo_forks }} N/A {{ item.repo_watchers }} N/A