mirror of
https://github.com/django/django.git
synced 2024-11-20 00:14:08 +00:00
24620d71f2
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.
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)
|