An opinionated Django setup for Divio Cloud
Branch: support/1.11.x
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
aldryn_django Bumped version to 1.11.20 (#139) Feb 12, 2019
tests Addon code alignments (#130) Jan 28, 2019
.coveragerc Addon code alignments (#130) Jan 28, 2019
.editorconfig Addon code alignments (#130) Jan 28, 2019
.travis.yml removed uncompatible Django references Jan 28, 2019
addon.json add empty installed-apps to addon.json Sep 17, 2015


Aldryn Django

build coverage

An opinionated Django setup bundled as a Divio Cloud addon.

This package will auto configure Django, including admin and some other basic packages. It also handles sane configuration of the database connection and static and media files.

The goal is to keep the footprint inside the Django website project as small as possible, so updating things usually just means bumping a version in requirements.txt and no other changes in the project.

This addon still uses the legacy "Aldryn" naming. You can read more about this in our support section.


This is a an open-source project. We'll be delighted to receive your feedback in the form of issues and pull requests. Before submitting your pull request, please review our contribution guidelines.

We're grateful to all contributors who have helped create and maintain this package. Contributors are listed at the contributors section.


See REQUIREMENTS in the file for additional dependencies:

python django


Nothing to do. aldryn-django is part of the Divio Cloud platform.

For a manual install:


Please follow the setup instructions for installing aldryn-addons first!

Add aldryn-django to your projects requirements.txt.

The version is made up of the Django release with an added digit for the release version of this package itself.

If you followed the aldryn-addons installation instructions, you should already have a ALDRYN_ADDONS setting. Add aldryn-django to it:


Create the addons/aldryn-django directory at the same level as your Then copy addon.json, from the matching sourcecode into it.

Also create a settings.json file in the same directory with the following content:

    "languages": "[\"en\", \"de\"]"


The need to manually copy and addon.json is due to legacy compatibility with the Divio Cloud platform and will no longer be necessary in a later release of aldryn-addons.


aldryn-django comes with entrypoints for and This makes it possible to just have a small snippet of code in the website project that should never change inside those files. The details of local project setup (e.g reading environment variables from a .env file) are then up to the currently installed version of aldryn-django. Also other opinionated things can be done, like using a production-grade wsgi middleware to serve static and media files.

Put this in

#!/usr/bin/env python
import os
from aldryn_django import startup

if __name__ == "__main__":

put this in

import os
from aldryn_django import startup

application = startup.wsgi(path=os.path.dirname(__file__))



To run migrations, call the command aldryn-django migrate. This will run a series of commands for the migration stage of a project.

aldryn-django will run python migrate. But any addon can add stuff to this migration step by appending commands to the MIGRATION_COMMANDS setting. For example aldryn-cms (django-cms as an Addon) will run python cms fix-tree at the migration stage.

Production Server

Calling aldryn-django web will start an opinionated Django setup for production (currently uWSGI based).

Running Tests

You can run tests by executing:

virtualenv env
source env/bin/activate
pip install -r tests/requirements.txt
python test