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
Documented Contains thorough documentation.
Page Depth Maximum depth of page hierarchy.
Tags Builtin tag support
Page Sorting Visual rearranging of page hierarchy (as opposed to entering index numbers)
Tests Contains a suite of unit tests.
Multisite Allows a single installation to serve multiple websites.
In-line Editing / Frontend-Editing Support for editing page content in-line (as opposed to only in the Django
admin)
Revision Builtin revision controlled content
SEO Builtin tools for SEO
WYSIWYG Editor Support for WYSIWYG editor(s) and/or markup formats.
South Support Allows south to be used to migrate the database.
Test coverage The current test coverage of the package in percent.
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)?
App Integration Does the CMS support integration of any Django app which provides at least a
urls.py?
Granular Permissions Is a granular permission system provided?
Plugins The content of the pages can be easily extended by 3rd-party apps.
Media asset merging and compression Media assets JS/CSS are compressed in production mode, with a minimal effort
Demo Site If the application has a public demo site, a link and login/password are given.
Django Versions Which versions of Django are supported?
Multilingual Full builtin multilingual support.
Continuous Integration Does the project have a (public) continuous integration server showing the
community it's current build status?
Pypi Installable Can be automatically installed with dependency resolution via pip or setuptools.
508 compliant? See http://webaim.org/standards/508/checklist
Multi-device Can a single instance serve up different templates for different devices? (eg
mobile phones)
Python 3 compatibility
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.
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.
PackageDescriptionCategoryDownloadsLast UpdatedVersionRepoCommitsRepo watchersForksParticipantsLicenseDocumentedPage DepthTagsPage SortingTestsMultisiteIn-line Editing / Frontend-EditingRevisionSEOWYSIWYG EditorSouth SupportTest coverageList of SitesMain focusApp IntegrationGranular PermissionsPluginsMedia asset merging and compressionDemo SiteDjango VersionsMultilingualContinuous IntegrationPypi Installable508 compliant?Multi-devicePython 3 compatibilityMulti-TenantModeration WorkflowDjango 1.7 SupportReuse CMS for a custom content type
django-simplepagesFramework0NoneOther00UNKNOWN
MerengueFramework0None0.9.0Other00 GNU Library or Lesser General Public License (LGPL)Unlimited, using hierarchical menus 
with translatable tags
 
Drag and drop
 
Unit tests and selenium test suites
 
By microsites plugin
Planned 
All models created with south
  http://www.merengueproject.org/
http://spinoff.ugr.es/
http://ofertaimasd.ugr.es/
 
Installed by webmaster, without change settings.INSTALLED_APPS
http://demo.merengueproject.org/
admin/admin
1.1 (0.7.X)
1.3 (0.8.X)
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 managementFramework0Jan. 19, 2015, 10:13 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
BSD94%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.
1.4
1.5
https://travis-ci.org/5monkeys/djedi-cms
WagtailA Django content management system focused on flexibility and user experienceFramework0March 27, 2015, 11:36 a.m.0.8.6Github2361322kaedroho
gasman
davecranwell
spapas
nealtodd
tomdyson
nimasmi
zerolab
timheap
jeffrey-hearn
more...
BSD  http://wagtail.readthedocs.org/en/latest/index.htmlUnlimited  Via visual interface (uses a mobile device friendly paradigm instead of drag-and-drop)93% https://coveralls.io/r/torchbox/wagtail?branch=master 

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.
  Most enhancements are code reviewed and rolled into the core. 'Contrib' modules include static site generation, sitemap generation and frontend cache validation management.  A feature complete demo package is provided for easy local installation - https://github.com/torchbox/wagtaildemo/1.6
1.7
  https://travis-ci.org/torchbox/wagtail  Editing UI is fully responsive  Currently supports 3.2, 3.3, 3.4  Currently supports single-stage moderation
django-widgyA CMS framework for Django built on a heterogenous tree editor.App0March 25, 2015, 6:51 p.m.0.4.0Github20624gavinwahl
rockymeza
justinstollsteimer
acatton
zmetcalf
pipermerriam
chroto
agroth
davesque
joshk
more...
Custom  http://docs.wid.gyIf 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
provided by Mezzanine if using the widgy-mezzanine plugin , see http://docs.wid.gy/en/latest/design/versioning.html , 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.
 , django-widgy is just an app, additionally if you wanted to add apps into the Mezzanine page tree, check out widgy.contrib.urlconf_include. , permissions down to the widget level  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/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)
Django page CMSOfficial Django page CMS git repositoryApp0March 7, 2015, 7:40 a.m.1.6.2Github19674batiste
wardi
jezdez
jbeaurain
cinghiale
facconi
nicksergeant
aaloy
a-iv
macropin
more...
BSD LicenseDatabase limited using django-mptt  with django-taggit  Drag'n'Drop and normal clickAbout 90%Django 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.   by subclassing a placeholderhttps://travis-ci.org/batiste/django-page-cms  in a very basic way
PhiloFoundation for web content management systems using Django.Framework0Feb. 1, 2012, 10:08 a.m.0.9.2Github5210melinath
jspiros
harrislapiroff
kgodey
derega
ISC License (ISCL)Database limited using django-mptt , with django-taggit , with django-reversion
PyLucid CMSPyLucid is a Open Source web content management system written in Python using the Django Framework.Framework0March 27, 2015, 1:23 p.m.1.6.0.0212Github6112jedie
ckolumbus
UNKNOWNDatabase limited , with django-taggingedit page and change parent , with django-reversion , in django-compressor branchhttp://demo.pylucid.net/1.3
django-gitcmsA git based cms for djangoFramework0Jan. 3, 2015, 8:13 a.m.0.4Github6813luispedroMIT
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.13Github25863HonzaKral
whit
kvbik
xaralis
iky
aleszoulek
czervenka
Almad
avelino
MichalMaM
more...
BSDUnlimited with custom implementation  with tagging plugin  not required for the target use case  not required for target use case  with plugins  migrations are provided and maintained85%See in the docs: http://ella.rtfd.org/Content-rich news websites and magazines, blogs. Can be used for personal pages too though.  core design philosophyshould be handled by 3rd party tool1.1 (for version 1.2.*)
1.3 (for versions 2.* and 3.*)
  not often used in target use casehttps://travis-ci.org/ella/ella
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 ...App0Nov. 24, 2013, 5:41 p.m.1.2.2Github23487coordt
jsoa
justquick
tgecho
epicserve
yakky
iepathos
joshourisman
numerodix
winniehell
more...
UNKNOWN
ionywebAn API drived, javascript modification UI CMS based on django frameworkApp0April 7, 2013, 4:23 a.m.0.3Github134Natim
mickaelperrier
BSD
django-fluent-pagesA flexible, scalable CMS with custom node types, and flexible block content.App0March 25, 2015, 2:45 p.m.0.9c1Github5420vdboor
vinnyrose
gannettchad
borgstrom
floppya
techdragon
maartendraijer
benkonrath
dekkers
huxley
CustomDatabase limited using django-mptt  possible through custom page types  Drag'n'Drop  planned  planned, please contribute  any WYSIWYG editor supported80 %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/
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.
  possible by integrating django-guardian +

custom page type models
flexible content blocks (via django-fluent-contents)
Can and should be handled by 3rd party apps (e.g. django-compressor)1.4
1.5
1.6
  https://travis-ci.org/edoburu/django-fluent-pages  planned, please contribute
OppsA Django-based CMS for the magazines, newspappers websites and portals with high-trafficFramework0March 27, 2015, 7:55 a.m.0.2.11Github19761avelino
rochacbruno
ellisonleao
lerrua
hersonls
mauler
Londerson
DiegoYungh
jeanmask
semente
more...
MITDatabase limited using django-mptt  flat text tag field for better performance  not required  not required  OppsEditor
- TinyMCE
- Redactor
- Aloha
31 %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  yes yes yes

yes extendable with Opps-Apps

+20 apps already available in github repo
  extendable with Opps-Apps  with django-compressor 
- https://drone.io/github.com/opps/opps/latest
- https://travis-ci.org/opps/opps

zornaOpen source, Django based CMS and collaborative web portalFramework0April 24, 2014, 2:41 a.m.Github73nouaya
zorna
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.2b3Bitbucket599diefenbachBSDUnlimitedCut'n PastePlannedProvides 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.Bitbucket20fabiomicheliniUNKNOWNDatabase 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 ...App0Nov. 8, 2014, 10:46 a.m.-0.2.0-Github00bennylopeBSD License
gnocchi-cmsA simple pages-and-templates CMS with a bit more :)App0March 10, 2015, 11:14 p.m.Bitbucket73funkybobUNKNOWNDatabase limitedDrag'n'drop 
with django-reversion
 
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.Framework0March 15, 2015, 2:45 p.m.Github13831evildmp
darbula
eclan
spacedman
KristianOellegaard
hejsan
foobacca
ojii
UNKNOWN
MezzanineContent management for DjangoFramework0March 24, 2015, 11:49 p.m.3.1.10Github2104798stephenmcd
AlexHill
jerivas
invalid-email-address
wrwrwr
sebasmagri
joshcartme
kenbolton
dfalk
Kniyl
more...
BSDUnlimited, using a single DB query.  Drag n drop  Full schema and data migrations for South are included70%  http://mezzanine.jupo.org/sites/Grappelli based admin 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, user accounts, tagging, ratings, media library (via custom FileBrowser), thumbnailing, and threaded comments.

Content can also be edited inline on the site itself.
  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/  Built-in optional integration with django-compressor  http://mezzanine.jupo.orgMezzanine <= 0.12.5 supports Django 1.1 to 1.3

Mezzanine >= 1.0.0, <= 1.4.2 supports Django 1.3 to 1.4

Mezzanine >= 1.4.3, <= 1.4.16 supports Django 1.4 to 1.5

Mezzanine 3.0 supports Django 1.4 to 1.6
Not specifically supported, but easily implemented with multi-tenant support.  http://travis-ci.org/#!/stephenmcd/mezzanine  Python 3.3
feinCMSA Django-based CMS with a focus on extensibility and concise codeFramework0March 10, 2015, 8:38 a.m.1.10.1Github595208matthiask
acdha
DrMeers
bmihelac
sbaechler
stephrdev
bjornpost
jphalip
mattd
schuerpf
more...
BSD LicenseDatabase-limited using django-mptt  Drag'n'drop  FeinCMS itself does not use South. Using South in your FeinCMS-using projects is fully supported though.83%  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.
Easily buildable using request processors.Core design philosophyAsset collection from content types / plugins: Yes
Compression: No, should be done in 3rd party app
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 supported
django-fiberDjango Fiber - a simple, user-friendly CMS for all your Django projectsApp0Feb. 10, 2015, 5:27 a.m.1.1Github47974dbunskoek
markotibold
mbraak
mvdwaeter
bsimons
bheesink
jbovenschen
vdboor
cscheng
chrisclark
more...
CustomDatabase limited using django-mptt , with something like django-taggit  Drag'n'Drop , with django-reversion75%https://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.
  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 Fiber itself can be considered a plugin for Django, which we believe is the right way to go.  using django-compressor  https://github.com/ridethepony/django-fiber-example1.4, 1.5, 1.6, 1.7  http://travis-ci.org/#!/ridethepony/django-fiber
Django CMSThe easy-to-use and developer-friendly CMSFramework0March 25, 2015, 2:59 p.m.3.1.0.b1Github33131270digi604
ojii
yakky
FinalAngel
mkoistinen
chrisglass
fivethreeo
piquadrat
evildmp
stefanfoulis
more...
BSD LicenseDatabase limited using django-mptt  Drag'n'Drop  (In 2.1+)87% 

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 appshttp://demo.django-cms.org/1.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)
PackageDescriptionCategoryDownloadsLast UpdatedVersionRepoCommitsRepo watchersForksParticipantsLicenseDocumentedPage DepthTagsPage SortingTestsMultisiteIn-line Editing / Frontend-EditingRevisionSEOWYSIWYG EditorSouth SupportTest coverageList of SitesMain focusApp IntegrationGranular PermissionsPluginsMedia asset merging and compressionDemo SiteDjango VersionsMultilingualContinuous IntegrationPypi Installable508 compliant?Multi-devicePython 3 compatibilityMulti-TenantModeration WorkflowDjango 1.7 SupportReuse CMS for a custom content type
Search WeightPackageDescriptionLast PyPI release:Repo ForksWatchers
{{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