The fluent_contents module offers a widget engine to display various content on a Django page.

This engine operates similary like Django CMS, FeinCMS or django-portlets, however, it can be used for any project, or CMS system.

Page contents can be constructed with multiple "content items". You can define your own content items, or use one the available content items out of the box. Standard web sites could use the bundled default content items. Other advanced designs (such as a web site with a magazine-like design, having many blocks at a page) can be implemented quickly by defining content items for the various "style elements" at the page.

Web editors are able to place the "content items" at the page, hence they can fill the content of advanced layouts easily and directly in the Django admin. This also applies to pages which have a "free form" or "presentation slide" design, this module allows the end-user to manage and configure the designed elements at the page.

By default, the following content items are available:

Standard content:

  • Text content - write rich text in a WYSIWYG editor (provided by django-wysiwyg).
  • Markup - write content with reStructuredText, Markdown or Textile (provided by docutils, Markdown or textile).
  • Forms - display forms created with django-form-designer.

Online content:

  • Google Docs viewer - display a PDF or DOCX file on a page, using the Google Docs Viewer service.
  • OEmbed support - embed content from YouTube, Vimeo, SlideShare, Twitter, and more.
  • Twitter feed - display a Twitter timeline, or realtime search timeline.

For programmers:

  • Code - display code snippets with highlighting (provided by Pygments).
  • Gist - display Gist snippets from Github.
  • IFrame - display an <iframe> on the page.
  • Raw HTML content - include jQuery snippets, or "embed codes" by other services.


For more details, see the documentation at Read The Docs.


The PlaceholderField is nicely integrated in the Django admin interface:

django-fluent-contents placeholder field preview

Secondly, it's possible to build a CMS Page interface with the PlaceholderEditorAdmin, which displays each content placeholder in a tab:

django-fluent-contents placeholder editor preview


Project Slug


Last Built

2 months ago passed


Home Page



django, admin, widgets, contents, fluent, placeholder

Project Privacy Level


Short URLs

Default Version


'latest' Version