import os

from django.conf import settings


PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))


config = dict(
    DEBUG=True,
    DATABASES={
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': ':memory:',
        }
    },
    ROOT_URLCONF='tests.urls',
    CACHES={
        'default': {
            'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
        }
    }
)

try:
    # django >= 1.8
    from django.template import engines  # noqa
    import jinja2  # noqa

    config.update(
        TEMPLATES=[
            {
                'BACKEND': 'django.template.backends.django.DjangoTemplates',
                'APP_DIRS': True,
                'DIRS': [os.path.join(PROJECT_ROOT, 'templates/django')],
                'OPTIONS': {
                    'context_processors': [
                        'django.template.context_processors.request',
                    ],
                }
            },
            {
                'BACKEND': 'django.template.backends.jinja2.Jinja2',
                'APP_DIRS': True,
                'DIRS': [os.path.join(PROJECT_ROOT, 'templates/jinja')],
                'OPTIONS': {
                    'environment': 'tests.jinja_config.environment'
                }
            },
        ]
    )
except ImportError:
    config.update(
        TEMPLATE_CONTEXT_PROCESSORS=[
            'django.core.context_processors.request',
        ],
        TEMPLATE_DIRS=[os.path.join(PROJECT_ROOT, 'templates/django')]
    )

settings.configure(**config)

try:
    # django 1.7 standalone app setup
    import django
    django.setup()
except AttributeError:
    pass

@@ -501,78 +501,34 @@
 oqa%0A
+%0A
     
-import jinja2  # noqa%0A%0A    config.update(%0A        TEMPLATES=%5B%0A    
+template_engines = %5B%0A
     
@@ -537,36 +537,32 @@
   %7B%0A            
-   
- 
 'BACKEND': 'djan
@@ -611,36 +611,32 @@
 s',%0A            
-    
 'APP_DIRS': True
@@ -629,36 +629,32 @@
 PP_DIRS': True,%0A
-    
             'DIR
@@ -711,36 +711,32 @@
 )%5D,%0A            
-    
 'OPTIONS': %7B%0A   
@@ -724,36 +724,32 @@
    'OPTIONS': %7B%0A
-    
                 
@@ -784,36 +784,32 @@
                 
- 
-   
 'django.template
@@ -850,35 +850,27 @@
             
-    %5D,%0A    
+%5D,%0A
             
@@ -883,33 +883,122 @@
     
-    %7D,%0A            %7B%0A    
+%7D%0A    %5D%0A%0A    try:%0A        # is jinja installed ?%0A        import jinja2  # noqa%0A%0A        template_engines.append(%7B%0A
     
@@ -1062,36 +1062,32 @@
 2',%0A            
-    
 'APP_DIRS': True
@@ -1080,36 +1080,32 @@
 PP_DIRS': True,%0A
-    
             'DIR
@@ -1161,36 +1161,32 @@
 )%5D,%0A            
- 
-   
 'OPTIONS': %7B%0A   
@@ -1174,36 +1174,32 @@
    'OPTIONS': %7B%0A
-    
                 
@@ -1259,41 +1259,115 @@
     
+   %7D%0A
        
-%7D
+ %7D)
 %0A    
-        %7D,%0A        %5D
+except ImportError:%0A        pass%0A%0A    config.update(%0A        TEMPLATES=template_engines
 %0A   

Refactor jinja loader.