Django App helper¶
Starting 3.0 django-app-helper only supports Django 2.2+ and django CMS 3.7+. If you need support for older (unsupported) versions, use django-app-helper 2.
Helper for django applications development¶
django-app-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
develop.py script, modified
to handle generic application development process.
It supports both tests writted using Django
TestCase and pytest ones
(see pytest support).
Python: 3.6, 3.7, 3.8
Django: 2.2 - 3.1
django CMS: 3.7, 3.8
Newer versions might work but are not tested yet.
The command must be executed in the main plugin directory (i.e. in the same
directory as the
setup.py file) as it needs to import files relative to the
The basic command structure is:
django-app-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).
To use it follows usage
By using the integrated runned in the settings file you’ll be able to run
the commands without invoking
django-app-helper: see Integrated runner
ASGI / Channels¶
ASGI / Channels are supported by installing the project with
With Daphne / Channels installed you can run
django-app-helper server --use-daphne|--use-channels to run the
project on ASGI.
Pure ASGI support is available only for Django 3.0+.
Installing from pip:
pip install django-app-helper
Installing from source:
pip install git+https://github.com/nephila/django-app-helper#egg=django-app-helper
- django CMS optional; required only to work with