Commit b7282db8 authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

Raised a warning when using the legacy TEMPLATE_* settings.

All tests now rely on TEMPLATES.
parent 9eb4f28e
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
from collections import Counter, OrderedDict
import os
import sys
# import warnings
import warnings

from django.apps import apps
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from django.utils import lru_cache
from django.utils import six
# from django.utils.deprecation import RemovedInDjango20Warning
from django.utils.deprecation import RemovedInDjango20Warning
from django.utils.functional import cached_property
from django.utils.module_loading import import_string

@@ -32,12 +32,10 @@ class EngineHandler(object):
            self._templates = settings.TEMPLATES

        if not self._templates:
            # TODO: re-enable this warning once the entire test suite has been
            #       updated to rely on TEMPLATES instead of legacy settings.
            # warnings.warn(
            #     "You haven't defined a TEMPLATES setting. You must do so "
            #     "before upgrading to Django 2.0. Otherwise Django will be "
            #     "unable to load templates.", RemovedInDjango20Warning)
            warnings.warn(
                "You haven't defined a TEMPLATES setting. You must do so "
                "before upgrading to Django 2.0. Otherwise Django will be "
                "unable to load templates.", RemovedInDjango20Warning)
            self._templates = [
                {
                    'BACKEND': 'django.template.backends.django.DjangoTemplates',
+22 −3
Original line number Diff line number Diff line
@@ -25,11 +25,11 @@ warnings.simplefilter("error", RemovedInDjango20Warning)

CONTRIB_MODULE_PATH = 'django.contrib'

TEST_TEMPLATE_DIR = 'templates'

CONTRIB_DIR = os.path.dirname(upath(contrib.__file__))
RUNTESTS_DIR = os.path.abspath(os.path.dirname(upath(__file__)))

TEMPLATE_DIR = os.path.join(RUNTESTS_DIR, 'templates')

TEMP_DIR = tempfile.mkdtemp(prefix='django_')
os.environ['DJANGO_TEST_TEMP_DIR'] = TEMP_DIR

@@ -101,7 +101,9 @@ def setup(verbosity, test_labels):
    state = {
        'INSTALLED_APPS': settings.INSTALLED_APPS,
        'ROOT_URLCONF': getattr(settings, "ROOT_URLCONF", ""),
        # Remove the following line in Django 2.0.
        'TEMPLATE_DIRS': settings.TEMPLATE_DIRS,
        'TEMPLATES': settings.TEMPLATES,
        'LANGUAGE_CODE': settings.LANGUAGE_CODE,
        'STATIC_URL': settings.STATIC_URL,
        'STATIC_ROOT': settings.STATIC_ROOT,
@@ -113,7 +115,24 @@ def setup(verbosity, test_labels):
    settings.ROOT_URLCONF = 'urls'
    settings.STATIC_URL = '/static/'
    settings.STATIC_ROOT = os.path.join(TEMP_DIR, 'static')
    settings.TEMPLATE_DIRS = (os.path.join(RUNTESTS_DIR, TEST_TEMPLATE_DIR),)
    # Remove the following line in Django 2.0.
    settings.TEMPLATE_DIRS = (TEMPLATE_DIR,)
    settings.TEMPLATES = [{
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [TEMPLATE_DIR],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.contrib.auth.context_processors.auth',
                'django.template.context_processors.debug',
                'django.template.context_processors.i18n',
                'django.template.context_processors.media',
                'django.template.context_processors.static',
                'django.template.context_processors.tz',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    }]
    settings.LANGUAGE_CODE = 'en'
    settings.SITE_ID = 1
    settings.MIDDLEWARE_CLASSES = ALWAYS_MIDDLEWARE_CLASSES