skip to navigation
skip to content

Not Logged In

django12factor 1.2

django12factor: Bringing 12factor to Django

What is it?

Django is an awesome Python web framework.

The Twelve-Factor App” is an awesome methodology for building SaaS apps.

django-12factor makes Django more 12factor-y. Right now, this focuses on the Config - “Store config in the environment”; Heroku users with addons will be particularly familiar with this.

Usage

Add the following to the bottom of your settings.py:

import django12factor
d12f = django12factor.factorise()

factorise() returns a dict of settings, so you can now use and assign them as you wish, e.g.

DEBUG = d12f['DEBUG']
LOGGING = d12f['LOGGING']

If you don’t like that repetition, you can (ab)use globals() like so:

import django12factor
d12f = django12factor.factorise()

def f(setting):
    globals()[setting] = d12f[setting]

f('DEBUG')
f('LOGGING')

You can also add non-Django settings this way, e.g. keys to APIs:

d12f = django12factor.factorise(custom_settings=['MAILCHIMP_API_KEY', 'GOOGLE_ANALYTICS_KEY'])

MAILCHIMP_API_KEY = d12f['MAILCHIMP_API_KEY']
GOOGLE_ANALYTICS_KEY = d12f['GOOGLE_ANALYTICS_KEY']

Give me everything!

If you say so…

import django12factor
globals().update(django12factor.factorise())

Settings

The following settings are currently supported:

DEBUG

TEMPLATE_DEBUG

CACHES

Uses django-cache-url

LOGGING

DATABASES

Uses dj-database-url - parses DATABASE_URL if it exists, otherwise falls back to in-memory sqlite.

ALLOWED_HOSTS

SECRET_KEY

 
File Type Py Version Uploaded on Size
django12factor-1.2.tar.gz (md5) Source 2014-11-10 3KB
  • Downloads (All Versions):
  • 24 downloads in the last day
  • 87 downloads in the last week
  • 397 downloads in the last month