home / grids / CMS edit

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.

 

Standard View

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.
PackageDescriptionCategoryDownloadsLast UpdatedVersionRepoCommitsStarsForksParticipantsLicenseRevisionPage SortingTagsPage DepthDocumentedTestsSEOMultisiteWYSIWYG EditorSouth SupportList of SitesMain focusMedia asset merging and compressionGranular PermissionsApp IntegrationMultilingualDjango VersionsPypi InstallableContinuous Integration508 compliant?Python 3 compatibilityMulti-deviceMulti-TenantModeration WorkflowDjango 1.7 SupportIn-line Editing / Frontend-EditingReuse CMS for a custom content typePluginsTest coverageDemo Site
django-simplepagesFramework0NoneOther00UNKNOWN
MerengueFramework0None0.9.0Other00 GNU Library or Lesser General Public License (LGPL)Planned 
Drag and drop
 
with translatable tags
Unlimited, using hierarchical menus 
Unit tests and selenium test suites
 
By microsites plugin
 
All models created with south
  http://www.merengueproject.org/
http://spinoff.ugr.es/
http://ofertaimasd.ugr.es/
1.1 (0.7.X)
1.3 (0.8.X)
 
Installed by webmaster, without change settings.INSTALLED_APPS
http://demo.merengueproject.org/
admin/admin
django-storiesAn application for handling newspaper-like stories on a web site.Framework0May 2, 2011, 8:54 a.m.1.0beta1Github141coordt
josesoa
rlewko
toddstowell
twtwebdev
wavrin
justquick
Custom
TangoFaster, simpler Django content managementFramework0May 7, 2015, 9:06 a.m.0.7.1Github272tBaxter
kennethlove
whatisjasongoldstein
MIT
Djedi CMSDjango content management as it should beApp0March 25, 2015, 12:07 p.m.1.0b8Github2711lundberg
chrippa
andreif
hannseman
vtrrsl
BSDDjedi 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.
1.4
1.5
https://travis-ci.org/5monkeys/djedi-cms94%
Wagtail CMSA Django content management system focused on flexibility and user experienceFramework0Sept. 2, 2015, 11:34 a.m.1.0rc2Github2862427kaedroho
gasman
davecranwell
spapas
nealtodd
tomdyson
nimasmi
zerolab
timheap
jeffrey-hearn
more...
BSD  Via visual interface (uses a mobile device friendly paradigm instead of drag-and-drop)Unlimited  http://wagtail.readthedocs.org/en/latest/index.html 

List of sites:
https://github.com/torchbox/wagtail/wiki/Public-Wagtail-sites
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.
1.6
1.7
  https://travis-ci.org/torchbox/wagtail  Currently supports 3.2, 3.3, 3.4  Editing UI is fully responsive  Currently supports single-stage moderation  Most enhancements are code reviewed and rolled into the core. 'Contrib' modules include static site generation, sitemap generation and frontend cache validation management.93% https://coveralls.io/r/torchbox/wagtail?branch=master  A feature complete demo package is provided for easy local installation - https://github.com/torchbox/wagtaildemo/
django-widgyA CMS framework for Django built on a heterogenous tree editor.App0Aug. 20, 2015, 5:58 p.m.0.7.1Github22830gavinwahl
acatton
justinstollsteimer
zmetcalf
jxcl
chroto
agroth
nolsto
davesque
JulianAndrews
more...
Custom , see http://docs.wid.gy/en/latest/design/versioning.htmlIf 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
  http://docs.wid.gyprovided by Mezzanine if using the widgy-mezzanine plugin , 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.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.
 , permissions down to the widget level , django-widgy is just an app, additionally if you wanted to add apps into the Mezzanine page tree, check out widgy.contrib.urlconf_include.1.4 - 1.6, 1.7 support is limited by Mezzaninehttps://travis-ci.org/fusionbox/django-widgy , see http://docs.wid.gy/en/latest/contrib/review-queue/index.htmlwaiting on Mezzanine for Django 1.7 supportAll 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)
  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.htmlhttp://demo.wid.gy/create-demo-site/
Leonardo CMSCMS for everyone, easy to deploy and scale, robust modular system with many packagesFramework0Sept. 3, 2015, 8:11 a.m.2015.8.1Github231michaelkuty
cznewt
dresl
BSD LicenseDrag'n'dropDatabase limited using django-mptt 
django-leonardo.readthedocs.org
 
any WYSIWYG editor supported
  but primary use Django migrationshttp://demo.cms.robotice.cz1.7+ 
https://travis-ci.org/django-leonardo/django-leonardo
http://demo.cms.robotice.cz
dotuluDjango CMS powered by Django Creation SASFramework0Aug. 30, 2015, 10:35 a.m.Github10djangocreation
tisspage
UNKNOWN
django-leafRender django templates based on URL.App0Aug. 24, 2015, 3:34 p.m.2.1.2Github10rsenk330BSD
Django page CMSOfficial Django page CMS git repositoryApp0July 29, 2015, 10:35 a.m.1.8.1Github20276batiste
wardi
jezdez
jbeaurain
matinfo
cinghiale
facconi
nicksergeant
aaloy
a-iv
more...
BSD License  Drag'n'Drop and normal click  with django-taggitDatabase limited using django-mpttDjango 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. https://travis-ci.org/batiste/django-page-cms  in a very basic way  by subclassing a placeholderAbout 90%
PhiloFoundation for web content management systems using Django.Framework0Feb. 1, 2012, 10:08 a.m.0.9.2Github5110melinath
jspiros
harrislapiroff
kgodey
derega
ISC License (ISCL) , with django-reversion , with django-taggitDatabase limited using django-mptt
PyLucid CMSPyLucid is a Open Source web content management system written in Python using the Django Framework.Framework0Aug. 27, 2015, 8:48 a.m.1.6.1Github6012jedie
ckolumbus
UNKNOWN , with django-reversionedit page and change parent , with django-taggingDatabase limited , in django-compressor branch1.3http://demo.pylucid.net/
django-gitcmsA git based cms for djangoFramework0Jan. 3, 2015, 8:13 a.m.0.4Github6913luispedroMIT
djpcmsDISCONTINUEDFramework0Feb. 19, 2014, 1:56 p.m.0.9a1Github232lsbardelBSDunlimitedhttp://djpcms.com
ellaElla is a CMS based on Python web framework Django with a main focus on high-traffic news websites and Internet ...Framework0April 1, 2014, 8:45 p.m.3.0.13Github25963HonzaKral
whit
kvbik
xaralis
iky
aleszoulek
mbambas
czervenka
avelino
Almad
more...
BSD  not required for the target use case  with tagging pluginUnlimited with custom implementation  with plugins  migrations are provided and maintainedSee in the docs: http://ella.rtfd.org/Content-rich news websites and magazines, blogs. Can be used for personal pages too though.should be handled by 3rd party tool  not often used in target use case1.1 (for version 1.2.*)
1.3 (for versions 2.* and 3.*)
https://travis-ci.org/ella/ella  not required for target use case  core design philosophy85%
django-dockitcmsCMS written using django-dockitFramework0April 15, 2013, 2:42 p.m.0.0.11Github104zbyte64New BSD Licensehttp://dockitcmsdemo.herokuapp.com/
django-categoriesThis app attempts to provide a generic category system that multiple apps could use. It uses MPTT for the tree ...App0Aug. 12, 2015, 1:09 p.m.1.3b8Github248100coordt
jsoa
justquick
tgecho
epicserve
yakky
miceno
iepathos
joshourisman
numerodix
more...
UNKNOWN
ionywebAn API drived, javascript modification UI CMS based on django frameworkApp0April 7, 2013, 4:23 a.m.0.3Github133Natim
mickaelperrier
BSD
django-fluent-pagesA flexible, scalable CMS with custom node types, and flexible block content.App0Sept. 3, 2015, 7:24 a.m.0.9c1Github5523vdboor
vinnyrose
gannettchad
borgstrom
bashu
sjdines
maartendraijer
techdragon
floppya
benkonrath
more...
Apache 2.0  planned, please contribute  Drag'n'Drop  possible through custom page typesDatabase limited using django-mptt  any WYSIWYG editor supportedMultilingual 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/
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.
Can and should be handled by 3rd party apps (e.g. django-compressor)  possible by integrating django-guardian1.4
1.5
1.6
  https://travis-ci.org/edoburu/django-fluent-pages  planned, please contribute  planned +

custom page type models
flexible content blocks (via django-fluent-contents)
80 %
OppsA Django-based CMS for the magazines, newspappers websites and portals with high-trafficFramework0July 11, 2015, 5:15 p.m.0.2.11Github21968avelino
rochacbruno
ellisonleao
lerrua
hersonls
mauler
Londerson
DiegoYungh
jeanmask
ervilis
more...
MIT  not required  flat text tag field for better performanceDatabase limited using django-mptt  OppsEditor
- TinyMCE
- Redactor
- Aloha
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
High traffic flexible content portals and magazines with API integrations and automated content  with django-compressor  yes yes yes

yes extendable with Opps-Apps

+20 apps already available in github repo
 
- https://drone.io/github.com/opps/opps/latest
- https://travis-ci.org/opps/opps

  not required  extendable with Opps-Apps31 %
zornaOpen source, Django based CMS and collaborative web portalFramework0May 15, 2015, 11:25 a.m.Github83nouaya
zorna
nam4dev
UNKNOWN
CMS-Image-PluginAdapation of the Arkestra image plugin, simply for djangoCMSApp0Feb. 5, 2012, 2:12 a.m.Github40crookseyUNKNOWN
LFC - Lightning Fast CMSLightning Fast CMSFramework0Oct. 16, 2011, 8:59 a.m.1.2b3Bitbucket589diefenbachBSDPlannedCut'n PasteUnlimitedProvides migration scripts based on South.  in trunkhttp://demo.django-lfc.com/, http://trunk.django-lfc.com/
swingcmsSwingCMS is a Content Management System focused on three main goals: simplicity, flexibility and solidity. It is builted on top ...Project0March 30, 2012, 5:12 p.m.Bitbucket30fabiomicheliniUNKNOWNDatabase limited  (FCKEditor)http://www.swingcms.net/view/folder/51.3
django-addendumEasily edit arbitrary text snippets on a site without a full-fledged CMS or issuing another site release. Like a mini-CMS ...App0April 16, 2015, 1:33 p.m.-0.2.0-Github10bennylope
jonashagstedt
BSD License
gnocchi-cmsA simple pages-and-templates CMS with a bit more :)App0July 16, 2015, 4:35 a.m.Bitbucket73funkybobUNKNOWN 
with django-reversion
Drag'n'dropDatabase limited 
CKEditor for Pages
Codemirror for Templates and CSS
 ++
Is an app itself, and features easily utilised transparently by other apps
1.1+ (1.0)
1.3 (1.1)
ArkestraArkestra extends Django CMS to provide an intelligent semantic web publishing system for organisations and institutions.Framework0July 18, 2015, 6:37 a.m.Github14432evildmp
darbula
bubenkoff
eclan
spacedman
KristianOellegaard
christianmlong
hejsan
foobacca
ojii
UNKNOWN
MezzanineCMS framework for DjangoFramework0Aug. 27, 2015, 5:18 p.m.4.0.1Github2347908stephenmcd
AlexHill
jerivas
invalid-email-address
wrwrwr
Kniyl
sebasmagri
joshcartme
kenbolton
dfalk
more...
BSD  Drag n dropUnlimited, using a single DB query.  Full schema and data migrations for South are included  Gallery of over 250 sites: http://mezzanine.jupo.org/sites/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.
  Built-in optional integration with django-compressor  Multi-lingual interface and multi-lingual DB contentMezzanine 4.0 supports Django 1.7 and 1.8

Earlier versions date back to Django 1.1
  http://travis-ci.org/stephenmcd/mezzanine  Python 2.7 to 3.4  One-step draft/published and pre-dated publish  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/70%  http://mezzanine.jupo.org
feinCMSA Django-based CMS with a focus on extensibility and concise codeFramework0July 7, 2015, 3:14 a.m.2.0a3Github621208matthiask
acdha
DrMeers
bmihelac
sbaechler
stephrdev
bjornpost
jphalip
mattd
skyl
more...
BSD License  Drag'n'dropDatabase-limited using django-mptt  FeinCMS itself does not use South. Using South in your FeinCMS-using projects is fully supported though.  Almost everything here: http://www.feinheit.ch/portfolio/projekte/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.
Asset collection from content types / plugins: Yes
Compression: No, should be done in 3rd party app
Easily buildable using request processors.1.4.x
1.5.x
1.6.x
1.7.x
  https://travis-ci.org/feincms/feincms  Python 3.2
+ Python 3.3
django.contrib.sites is supportedCore design philosophy83%
django-fiberDjango Fiber - a simple, user-friendly CMS for all your Django projectsApp0July 29, 2015, 6:27 a.m.1.2Github50782dbunskoek
markotibold
mbraak
mvdwaeter
bsimons
bheesink
jbovenschen
vdboor
ramonakira
cscheng
more...
Custom , with django-reversion  Drag'n'Drop , with something like django-taggitDatabase limited using django-mptthttps://www.djangopackages.com/packages/p/django-fiber/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.
  using django-compressor  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.1.4, 1.5, 1.6, 1.7  http://travis-ci.org/#!/ridethepony/django-fiberDjango Fiber itself can be considered a plugin for Django, which we believe is the right way to go.75%  https://github.com/ridethepony/django-fiber-example
Django CMSThe easy-to-use and developer-friendly CMSFramework0Sept. 1, 2015, 9:56 a.m.3.1.3Github36131396digi604
yakky
ojii
FinalAngel
mkoistinen
chrisglass
fivethreeo
vxsx
evildmp
piquadrat
more...
BSD License  Drag'n'DropDatabase limited using django-mptt 

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

List of Sites: https://www.django-cms.org/en/case-studies/list/
Django 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.Can and should be handled by 3rd party apps1.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)
https://travis-ci.org/divio/django-cms/  (In version 3.0 and higher Python 3.3 and higher are supported)  (In 2.1+)87%http://demo.django-cms.org/
PackageDescriptionCategoryDownloadsLast UpdatedVersionRepoCommitsStarsForksParticipantsLicenseRevisionPage SortingTagsPage DepthDocumentedTestsSEOMultisiteWYSIWYG EditorSouth SupportList of SitesMain focusMedia asset merging and compressionGranular PermissionsApp IntegrationMultilingualDjango VersionsPypi InstallableContinuous Integration508 compliant?Python 3 compatibilityMulti-deviceMulti-TenantModeration WorkflowDjango 1.7 SupportIn-line Editing / Frontend-EditingReuse CMS for a custom content typePluginsTest coverageDemo Site
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