Skip to main content

Helper for django applications development

Project description

Join the Gitter chat Latest PyPI version Python versions Latest Travis CI build status Test coverage Code Climate License

Helper for django applications development

djangocms-helper is a set of commands and helper methods to make developing and testing reusable Django applications easier.

Being born in the django CMS ecosystem, it provides a lot of utility functions to develop, run and test django CMS applications.

It’s a modified version of django CMS’s own script, modified to handle generic application development process.

Supported versions

Python: 2.7, 3.5, 3.6, 3.7

Django: 1.11 - 2,2

django CMS: 3.4 - 3.7

Newer versions might work but are not tested yet.


Starting from version 1.2, compatibility with Python 3.4, Django<=1.11 and django CMS<=3.4 has been dropped. Pin your test requirements accordingly (djangocms-helper<1.2).


Starting from version 1.1, nose test runner has been dropped. Pin your test requirements accordingly (djangocms-helper<1.0).

Common options

  • --cms: Loads configuration to properly run a django CMS-based application;
  • --extra-settings: Path to a helper file to set extra settings; see Settings section for details;


The command must be executed in the main plugin directory (i.e. in the same directory as the file) as it needs to import files relative to the current directory.

The basic command structure is:

djangocms-helper <application> <command> [options ...]

where <application> is the django application name and <command> is one of the available commands. Options vary for each command.

Base test class

A base test class is available to provide helpers and methods that implements repetitive tasks during development or compatibility shims (especially for django CMS).


Changes in version 1.2 might reduce the number of queries executed in tests rendering plugins.

If you are using assertNumQueries (or similar), this may yield unexpected failures.

Please check your code before upgrading djangocms-helper.


To bootstrap a project using djangocms-helper you may want to have a look at cookiecutter-djangopackage-helper, a cookiecutter template for djangocms-helper.

To use it follows usage instructions


By using the integrated runned in the settings file you’ll be able to run the commands without invoking djangocms-helper: see Integrate runner for reference.


Installing from pip:

pip install djangocms-helper

Installing from source:

pip install git+


  • django CMS optional; required only to work with --cms option
  • docopt
  • tox
  • dj-database-url


Documentation is available on readthedocs.


djangocms-helper was written by Iacopo Spalletti with help from other contributors.


The general logic and part of the code of the whole application is heavily taken from django CMS’s own so all the contributors deserve a huge thanks for their work.

Project details

Download files

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

Files for djangocms-helper, version 1.2.5
Filename, size File type Python version Upload date Hashes
Filename, size djangocms_helper-1.2.5-py2.py3-none-any.whl (46.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size djangocms-helper-1.2.5.tar.gz (40.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page