I use Jinja2 as template engine with Django 1.8.

Here’s my settings.py snippet

        'BACKEND': 'django.template.backends.jinja2.Jinja2',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {'environment': 'rdjango.jinja2.environment', },
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [

So I have to add directory templates inside the base directory (same level with manage.py), And also create file jinja2.py (inside project directory, same level with settings.py), to declare the environment, you can copy from this reference 1.

from __future__ import absolute_import  # Python 2 only

from django.contrib.staticfiles.storage import staticfiles_storage
from django.core.urlresolvers import reverse

from jinja2 import Environment

def environment(**options):
    env = Environment(**options)
        'static': staticfiles_storage.url,
        'url': reverse,
    return env

The environment declare about static directory (and files), from staticfiles_storage, so you have to declare it on settings.py, my snippet for example:

# Static files (CSS, JavaScript, Images)

STATIC_URL = '/static/'
    os.path.join(BASE_DIR, "static"),

Now you have fully configured Jinja2 as template engine with defined static directory.

  1. https://docs.djangoproject.com/en/1.8/topics/templates/ ↩︎