CMS based on Django: examples and features

5 min reading
Treasury / 04 February 2016
CMS based on Django: examples and features
CMS based on Django: examples and features

BBVA API Market

There are no publishing projects or projects related to content marketing or advertising whose priorities do not include the choice of a content management system (CMS). There are versions that are free or premium, simple or complex, with the core coded in a variety of programming languages… Today we’ll look at some interesting examples of CMS developed in Django, the web development environment written in Python

Django CMS, Mezzanine, Wagtail and FeinCMS are four examples of content management platforms developed using Django. Where is the problem? Django is a development framework that is very commonly used in the development community. Python has become a trend within the programming market, but the CMS have not reached the level of speed, scalability and simplicity of the managers most commonly used in the community, such as the well-known WordPress, Drupal, Joomla, Fork CMS, TextPattern or ModX.

However, they can still be a very good choice if you already have a good set of applications and platforms that are developed in Django.

Django CMS

The latest version of this CMS is Django CMS 3.2. This manager was initially created by the Django and Python community to solve the common security problems of the most popular CMS and to create a platform that has a particularly light core. It is also easy to use, which is an essential feature for the final user. It is very easy for developers to integrate other applications developed using Django.

Some of the key features of Django CMS:

· A platform that is multi-language by default: no special plugin has to be installed in order to have the tools, web pages and content in other languages. Other CMS are different.

· Interface based on the drag and drop function.

· Tactile screen support: this allows the users of the CMS to create content from mobile devices or tablets.

· Interface: improved speed and low bandwidth consumption.

· It is developed in Python: this is a really simple programming language that is flexible and gives projects a great scalability. Incorporating it into a CMS gives it enormous possibilities, both on the editorial and the development side. Django CMS connects easily to the biggest infrastructures, from implementation services to database authentication services or  front-end development. You don’t have to create a system for Django CMS; the editor itself adapts to the existing system.

· A system of plugins: any developer can incorporate new functionalities or applications to the CMS. You can also develop your own applications and implement them within the editor.

Mezzanine

Mezzanine is a CMS developed using Django. Its creators compare its characteristics and possibilities with WordPress: it is an editor that allows the code to be altered to implement changes. It is expandable and simple at the same time, because its functionalities are largely incorporated by default within the CMS. It is BSD (Berkeley Software Distribution) licensed, allowing code use in proprietary software projects. It is a permissive free software license.  

Some of the key features of Mezzanine:

· It is a CMS designed largely for content editor editors: it has a delete function, preview and publication programming; construction of SEO-friendly URLs; user roles; use of widgets to incorporate into the blog or online store; incorporation of tags; hierarchical page navigation; free and pay themes much like WordPress; buttons for sharing in social networks like Twitter and Facebook; translation into 35 languages…

· WYSIWYG (What You See is What You Get) edition: this is a paradigm by which the editor always works in draft or preview mode with the type of layout that will appear when the content is finally published. Mezzanine has a back-end system where the editor writes the content, but the preview and draft show the entry as it will appear when finally published.

· Features for developers: integration with Bootstrap, the  front-end development framework (CSS and JavaScript) developed by Twitter; integration within third-party applications developed using Django; simple incorporation of Google Analytics for control of metrics, Disqus as a comment system, Akismet for filtering spam, Gravatar for associating images to users and bit.ly as a system for shortening URLs; automation of production and deployment processes; compatible with JVM (Java Virtual Machine) through Jython (Java + Python), an object-based programming language written in Python and implemented in Java (free software project). 

Wagtail

The creators of Wagtail claim it is an open-source CMS in Python, constructed in Django “by developers for developers.” It owes its name to a bird, of the genus Motacilla. They consider Django to be the ideal platform for the development of a CMS because it is robust, easy to program and fast to develop.

Some of its key features include:

· Integration of the Django applications within the CMS.

· Configuration of different types of content through the standard Django models.

· Control over design through Django templates.

· Configurable system of permissions and roles.

· Platform with support for several languages.

· Elasticsearch as a search engine: this is an open-source system that integrates perfectly into the editor. The Wagtail interface also has a system for collecting statistics through searches in this engine. It provides quick access to documents, pages, video and images. It can be configured. 

· Streamfield: a completely free system for creating information. You can order all the elements of a content however you like: title, text in paragraphs, images, videos, sidebars… You can see the different elements of the document in this image.

· Tree structure to organize the content within the editor.

· Smart image cutting system: it can highlight important elements within a photo, such as faces or people. The image cuts are also fully customizable.

FeinCMS

FeinCMS is another example of CMS based on Django. The editor is based on the capacity to add different types of content to pages: raw content in HTML or JavaScript; content in video format from YouTube or Vimeo (it is embedded in the page simply by cutting and pasting); audio files; comments list; RSS sources…  

FeinCMS has a series of extensions that add functionalities:

· Improved positioning in content search engines (SEO) : capacity to add the metadata from news (titles, meta-descriptions, meta elements…). In the best-known CMS such as WordPress there are specific plugins for this.

· Possibility of hosting web pages in different languages: you can add a language field for each of the pages on the site.

Follow us on @BBVAAPIMarket

It may interest you