mirror of
https://github.com/django/django.git
synced 2025-01-08 17:37:20 +00:00
4cc0baa98e
Django ignores the value of the TEMPLATE_* settings if TEMPLATES is also
set, which is confusing for users following older tutorials. This change
adds a system check that warns if any of the TEMPLATE_* settings have
changed from their defaults but the TEMPLATES dict is also non-empty.
Removed the TEMPLATE_DIRS from the test settings file; this was marked
for removal in 1.10 but no tests fail if it is removed now.
Backport of 24620d71f2
from master
30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
from django.core.checks.compatibility.django_1_8_0 import \
|
|
check_duplicate_template_settings
|
|
from django.test import SimpleTestCase
|
|
from django.test.utils import override_settings
|
|
|
|
|
|
class CheckDuplicateTemplateSettingsTest(SimpleTestCase):
|
|
|
|
def test_not_raised_if_no_templates_setting(self):
|
|
self.assertEqual(check_duplicate_template_settings(None), [])
|
|
|
|
@override_settings(
|
|
TEMPLATES=[{'BACKEND': 'django.template.backends.django.DjangoTemplates'}],
|
|
TEMPLATE_DIRS=['/path/to/dirs'],
|
|
)
|
|
def test_duplicate_setting(self):
|
|
result = check_duplicate_template_settings(None)
|
|
self.assertEqual(result[0].id, '1_8.W001')
|
|
|
|
@override_settings(
|
|
TEMPLATES=[{'BACKEND': 'django.template.backends.django.DjangoTemplates'}],
|
|
TEMPLATE_DIRS=['/path/to/dirs'],
|
|
TEMPLATE_DEBUG=True,
|
|
)
|
|
def test_multiple_duplicate_settings(self):
|
|
result = check_duplicate_template_settings(None)
|
|
self.assertEqual(len(result), 1)
|
|
self.assertTrue('TEMPLATE_DIRS' in result[0].msg)
|
|
self.assertTrue('TEMPLATE_DEBUG' in result[0].msg)
|