Required that the MEDIA_URL and STATIC_URL settings end with a slash, per the deprecation timeline.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17845 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
95d9662f39
commit
fbfaa35fb0
|
@ -69,8 +69,7 @@ class BaseSettings(object):
|
||||||
"""
|
"""
|
||||||
def __setattr__(self, name, value):
|
def __setattr__(self, name, value):
|
||||||
if name in ("MEDIA_URL", "STATIC_URL") and value and not value.endswith('/'):
|
if name in ("MEDIA_URL", "STATIC_URL") and value and not value.endswith('/'):
|
||||||
warnings.warn("If set, %s must end with a slash" % name,
|
raise ImproperlyConfigured("If set, %s must end with a slash" % name)
|
||||||
DeprecationWarning)
|
|
||||||
elif name == "ADMIN_MEDIA_PREFIX":
|
elif name == "ADMIN_MEDIA_PREFIX":
|
||||||
warnings.warn("The ADMIN_MEDIA_PREFIX setting has been removed; "
|
warnings.warn("The ADMIN_MEDIA_PREFIX setting has been removed; "
|
||||||
"use STATIC_URL instead.", DeprecationWarning)
|
"use STATIC_URL instead.", DeprecationWarning)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from django.conf import settings, global_settings
|
from django.conf import settings, global_settings
|
||||||
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.http import HttpRequest
|
from django.http import HttpRequest
|
||||||
from django.test import TransactionTestCase, TestCase, signals
|
from django.test import TransactionTestCase, TestCase, signals
|
||||||
from django.test.utils import override_settings
|
from django.test.utils import override_settings
|
||||||
|
@ -185,22 +186,26 @@ class TrailingSlashURLTests(TestCase):
|
||||||
|
|
||||||
def test_no_end_slash(self):
|
def test_no_end_slash(self):
|
||||||
"""
|
"""
|
||||||
MEDIA_URL raises an DeprecationWarning error if it doesn't end in a
|
MEDIA_URL and STATIC_URL raise an ImproperlyConfigured exception
|
||||||
slash.
|
if they doesn't end in a slash.
|
||||||
"""
|
"""
|
||||||
import warnings
|
|
||||||
warnings.filterwarnings('error', 'If set, MEDIA_URL must end with a slash', DeprecationWarning)
|
|
||||||
|
|
||||||
def setattr_settings(settings_module, attr, value):
|
def setattr_settings(settings_module, attr, value):
|
||||||
setattr(settings_module, attr, value)
|
setattr(settings_module, attr, value)
|
||||||
|
|
||||||
self.assertRaises(DeprecationWarning, setattr_settings,
|
self.assertRaises(ImproperlyConfigured, setattr_settings,
|
||||||
self.settings_module, 'MEDIA_URL', '/foo')
|
self.settings_module, 'MEDIA_URL', '/foo')
|
||||||
|
|
||||||
self.assertRaises(DeprecationWarning, setattr_settings,
|
self.assertRaises(ImproperlyConfigured, setattr_settings,
|
||||||
self.settings_module, 'MEDIA_URL',
|
self.settings_module, 'MEDIA_URL',
|
||||||
'http://media.foo.com')
|
'http://media.foo.com')
|
||||||
|
|
||||||
|
self.assertRaises(ImproperlyConfigured, setattr_settings,
|
||||||
|
self.settings_module, 'STATIC_URL', '/foo')
|
||||||
|
|
||||||
|
self.assertRaises(ImproperlyConfigured, setattr_settings,
|
||||||
|
self.settings_module, 'STATIC_URL',
|
||||||
|
'http://static.foo.com')
|
||||||
|
|
||||||
def test_double_slash(self):
|
def test_double_slash(self):
|
||||||
"""
|
"""
|
||||||
If a MEDIA_URL ends in more than one slash, presume they know what
|
If a MEDIA_URL ends in more than one slash, presume they know what
|
||||||
|
|
Loading…
Reference in New Issue