Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Django CMS articles management plugin

Project Description

It is a simple plugin that allows you to organize you article pages in a manner of a blog. It does not break original page publishing workflow, but has some tricks to gather articles into a blog app.


It works fine and tested under Python 2.7. The following libraries are required

  • Django >= 1.5
  • django-cms >= 3.0 (we recommend to use Django CMS 3.0 and higher, contact us if you need prior CMS versions supports and have some issues)


$ pip install cmsplugin-articles

Configure installed apps in your

    # django contrib and django cms apps

Migrate your database migrate cmsplugin_articles


  • Create a page in a common way, it will be a root page, an articles list;
  • Add ArticlesPlugin to the page to you content placeholder, this will show a list of published articles;
  • Create an article page as a child page, it will be shown automatocally in the list.


You can customize this plugin by overriding the following templates

  • cms/plugins/articles.html (plugin template layout)
  • cms/plugins/article_teaser.html (if you want to change teaser template, e.g. use easy-thumbnails for teaser images)
  • cms/plugins/articles_pagination.html (pagination templates, if you want to add extra css classes or so)


The plugin has a number of temlatetags used for teaser template, you should load them in your template with

{% load article_tags %}

published_at, teaser_title and teaser_image

Filters which get article Page instance as an argument

  • published_at return datetime object for publication time
  • teaser_title return teaser title as a string
  • teaser_image return TeaserExtension.image if exists


A simple_tag which returns a teaser text. It accepts two parameters

  • article_page the page that teaser belongs to
  • default_from the placeholder name. You can pass it if you want generate teasers automaticaly


You can use this template tag to split articles list into a column layout, e.g

<div class="row">
  {% exact_columns articles 3 "vertical" as columns %}
  {% for column in columns %}
    <div class="col_6">
      {% for article in column %}
        {% include "cms/plugins/article_teaser.html" %}
      {% endfor %}
  {% endfor %}


  • Python 3 support


The changelog can be found at repo’s release notes


Fork the repo, create a feature branch then send me pull request. Feel free to create new issues or contact me via email.

Release History

Release History

This version
History Node


History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
cmsplugin-articles-0.2.2.tar.gz (10.4 kB) Copy SHA256 Checksum SHA256 Source Dec 19, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting