mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #24336 -- Made django.conf.urls.static() ignore all absolute URLs
This commit is contained in:
		| @@ -1,4 +1,5 @@ | ||||
| import re | ||||
| from urllib.parse import urlsplit | ||||
|  | ||||
| from django.conf import settings | ||||
| from django.core.exceptions import ImproperlyConfigured | ||||
| @@ -19,7 +20,7 @@ def static(prefix, view=serve, **kwargs): | ||||
|     """ | ||||
|     if not prefix: | ||||
|         raise ImproperlyConfigured("Empty static prefix not permitted") | ||||
|     elif not settings.DEBUG or '://' in prefix: | ||||
|     elif not settings.DEBUG or urlsplit(prefix).netloc: | ||||
|         # No-op if not in debug mode or a non-local prefix. | ||||
|         return [] | ||||
|     return [ | ||||
|   | ||||
| @@ -153,8 +153,9 @@ class StaticHelperTest(StaticTests): | ||||
|             static('') | ||||
|  | ||||
|     def test_special_prefix(self): | ||||
|         """No URLs are served if prefix contains '://'.""" | ||||
|         self.assertEqual(static('http://'), []) | ||||
|         """No URLs are served if prefix contains a netloc part.""" | ||||
|         self.assertEqual(static('http://example.org'), []) | ||||
|         self.assertEqual(static('//example.org'), []) | ||||
|  | ||||
|  | ||||
| class StaticUtilsTests(unittest.TestCase): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user