skip to navigation
skip to content

djangocms-helper 0.3.1

Helpers for django CMS plugin development

Latest Version: 0.9.9

Helper for django CMS plugin development

djangocms-helper is a set of commands to handle django CMS plugins development process.

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

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 Customizing settings 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. Optins vary for each command.

Available commands


Test command allows to run the application test suite using test environemnt similar to the django CMS testsuite.

Test structure

Currently two different tests layouts are supported:

  • tests outside the application module:
  • tests inside the application:

Depending on the used test runner you may need to setup your tests accordingly.

Currently supported test runners are:

  • Django’s DiscoverRunner (default)
  • Django’s DjangoTestSuiteRunner (option --simple-runner)
  • Nose’s NoseTestSuiteRunner (option --nose-runner)

You can also write your own runner an use it with --runner option.

  • <test-label>: a space-separated list of tests to run;
  • --runner: custom test runner to use in dotted path notation;
  • --failfast: whether to stop at first test failure;
  • --migrate: whether to apply south migrations when running tests;
  • --xvfb: whether to configure xvfb (for frontend tests);
  • --nose-runner: use django nose test suite
  • --simple-runner use Django DjangoTestSuiteRunner


Starts a django shell for the test project.


Compiles the locale messages.


Updates the locale messages for the current application.


Updates the application migrations (south migrations or Django migrations according to the current installed Django version). For South, it automatically handles initial / auto options.


Performs static analysis using pyflakes with the same configuration as django CMS.


Generates the authors list from the git log suitable for the AUTHORS file.

Customizing settings

For non trivial applications, you’d probably want to customize the base django settings provided by djangocms-helper.

This can be achieved by either putting a file in the application main directory or by passing the path to the file using --extra-settings option (use full path complete with .py extension).

The file must contain a HELPER_SETTINGS dictionary containing the desired settings:

    'TIME_ZONE': 'Europe/Rome',

All the parameter in settings will override the default ones, except INSTALLED_APPS and TEMPLATE_CONTEXT_PROCESSORS that will be appended to the existing ones.


Installing from pip:

pip install djangocms-helper

Installing from source:

pip install git+


  • django CMS 3.0 (django CMS 3.0.4 is required for pyflake command)
  • docopt
  • tox
  • dj-database-url


djangocms-helper was written by Iacopo Spalletti.

File Type Py Version Uploaded on Size
djangocms-helper-0.3.1.tar.gz (md5) Source 2014-08-26 22KB