mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	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)
 |