django CMS Helper reference


Commands take the general form:

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

where <application> is the Django application name and <command> is a Django supported command, or one of the djangocms-helper commands detailed below. Options vary for each command.

Common options

  • --extra-settings=path: loads the extra settings from the provided file instead of the default
  • cms: loads django CMS specific options (see –cms option for details)

Django commands

django CMS Helper supports any Django command available according to the project setup; the general syntax is:

djangocms-helper <application> <command> [options] [--extra-settings=</path/to/>] [--cms]

Example: djangocms-helper some_application shell --cms


  • <command> is any available Django command
  • [options] is any option/argument accepted by the above command


djangocms-helper <application> test [--failfast] [--migrate] [<test-label>...] [--xvfb] [--runner=<test.runner.class>] [--extra-settings=</path/to/>] [--cms] [--nose-runner] [--simple-runner] [--runner-options=<option1>,<option2>]

Example: djangocms-helper some_application test --cms

Runs the application’s test suite in django CMS Helper’s virtual environment.


  • <test-label>: a space-separated list of tests to run; test labels depends on the runner test suite building protocol, please, refer to the runner documentation to know the test label format;


  • --runner: custom test runner to use in dotted path notation;
  • --runner-options=<option1>,<option2>: comma separated list of command line options for the test runner: e.g. --runner-options=--with-coverage,--cover-package=my_package
  • --failfast: whether to stop at first test failure;
  • --migrate: use migrations (default);
  • --persistent: use persistent storage for media and static; if given without arguments the
    storage is created in data directory in the root of the application; if argument is provided, it’s used as parent path (either absolute or relative) for media and static;
  • --no-migrate: skip migrations;
  • --boilerplate: adds aldryn-boilerplates configuration to settings;
  • --xvfb: whether to configure xvfb (for frontend tests);
  • --nose-runner: use django nose test suite
  • --simple-runner use Django DjangoTestSuiteRunner
  • --native use the native Django command: the use of this option is incompatible with the options above.

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 on Django 1.6+)
  • Nose’s NoseTestSuiteRunner (option --nose-runner)

You can also specify your own custom runner with the --runner option.


djangocms-helper <application> cms_check [--extra-settings=</path/to/>] [--migrate]

Runs the django CMS cms check command.

Example: djangocms-helper some_application cms_check

update and compile locales

djangocms-helper <application> makemessages [--extra-settings=</path/to/>] [--cms] [--locale=locale]
djangocms-helper <application> compilemessages [--extra-settings=</path/to/>] [--cms]


djangocms-helper some_application makemessages --cms
djangocms-helper some_application compilemessages --cms

These two commands compiles and update the locale messages.


  • --locale=locale: makemessages allows a single option to choose the locale to update.
    If not provided en is used.


djangocms-helper <application> makemigrations [--extra-settings=</path/to/>] [--cms] [--merge] [--dry-run] [--empty] [<extra-applications>...]

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


  • --merge: Enable fixing of migration conflicts (for Django 1.7+ only)
  • --empty: It generates an empty migration for customisations
  • --dry-run: Does not create migrations file (for Django 1.7+ only)


  • <extra-applications>: Spaces separated list of applications to migrate


djangocms-helper <application> squashmigrations <migration-name>

Runs the squashmigrations command. It operates on the current application.


  • <migration-name>: Squash migrations until this migration


djangocms-helper <application> pyflakes [--extra-settings=</path/to/>] [--cms]

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


djangocms-helper <application> authors [--extra-settings=</path/to/>] [--cms]

Generates an authors list from the git log, in a form suitable for the AUTHORS file.


djangocms-helper <application> server [--port=<port>] [--bind=<bind>] [--extra-settings=</path/to/>] [--cms]

Starts a runserver instance.