summaryrefslogtreecommitdiff
path: root/django/contrib/staticfiles
diff options
context:
space:
mode:
Diffstat (limited to 'django/contrib/staticfiles')
-rw-r--r--django/contrib/staticfiles/context_processors.py6
-rw-r--r--django/contrib/staticfiles/handlers.py36
-rw-r--r--django/contrib/staticfiles/management/commands/collectstatic.py4
-rw-r--r--django/contrib/staticfiles/management/commands/runserver.py2
-rw-r--r--django/contrib/staticfiles/storage.py15
-rw-r--r--django/contrib/staticfiles/templatetags/__init__.py0
-rw-r--r--django/contrib/staticfiles/templatetags/staticfiles.py43
-rw-r--r--django/contrib/staticfiles/urls.py11
-rw-r--r--django/contrib/staticfiles/utils.py16
9 files changed, 39 insertions, 94 deletions
diff --git a/django/contrib/staticfiles/context_processors.py b/django/contrib/staticfiles/context_processors.py
deleted file mode 100644
index 3ed00719e1..0000000000
--- a/django/contrib/staticfiles/context_processors.py
+++ /dev/null
@@ -1,6 +0,0 @@
-from django.conf import settings
-
-def staticfiles(request):
- return {
- 'STATICFILES_URL': settings.STATICFILES_URL,
- }
diff --git a/django/contrib/staticfiles/handlers.py b/django/contrib/staticfiles/handlers.py
index 20b04960da..2b7276133f 100644
--- a/django/contrib/staticfiles/handlers.py
+++ b/django/contrib/staticfiles/handlers.py
@@ -10,46 +10,44 @@ from django.contrib.staticfiles.views import serve
class StaticFilesHandler(WSGIHandler):
"""
WSGI middleware that intercepts calls to the static files directory, as
- defined by the STATICFILES_URL setting, and serves those files.
+ defined by the STATIC_URL setting, and serves those files.
"""
- def __init__(self, application, media_dir=None):
+ def __init__(self, application, base_dir=None):
self.application = application
- if media_dir:
- self.media_dir = media_dir
+ if base_dir:
+ self.base_dir = base_dir
else:
- self.media_dir = self.get_media_dir()
- self.media_url = urlparse(self.get_media_url())
- if settings.DEBUG:
- utils.check_settings()
+ self.base_dir = self.get_base_dir()
+ self.base_url = urlparse(self.get_base_url())
super(StaticFilesHandler, self).__init__()
- def get_media_dir(self):
- return settings.STATICFILES_ROOT
+ def get_base_dir(self):
+ return settings.STATIC_ROOT
- def get_media_url(self):
- return settings.STATICFILES_URL
+ def get_base_url(self):
+ if settings.DEBUG:
+ utils.check_settings()
+ return settings.STATIC_URL
def _should_handle(self, path):
"""
Checks if the path should be handled. Ignores the path if:
- * the host is provided as part of the media_url
+ * the host is provided as part of the base_url
* the request's path isn't under the media path (or equal)
- * settings.DEBUG isn't True
"""
- return (self.media_url[2] != path and
- path.startswith(self.media_url[2]) and not self.media_url[1])
+ return (self.base_url[2] != path and
+ path.startswith(self.base_url[2]) and not self.base_url[1])
def file_path(self, url):
"""
Returns the relative path to the media file on disk for the given URL.
- The passed URL is assumed to begin with ``media_url``. If the
+ The passed URL is assumed to begin with ``base_url``. If the
resultant file path is outside the media directory, then a ValueError
is raised.
"""
- # Remove ``media_url``.
- relative_url = url[len(self.media_url[2]):]
+ relative_url = url[len(self.base_url[2]):]
return urllib.url2pathname(relative_url)
def serve(self, request):
diff --git a/django/contrib/staticfiles/management/commands/collectstatic.py b/django/contrib/staticfiles/management/commands/collectstatic.py
index d121223595..8882ae20db 100644
--- a/django/contrib/staticfiles/management/commands/collectstatic.py
+++ b/django/contrib/staticfiles/management/commands/collectstatic.py
@@ -12,7 +12,7 @@ from django.contrib.staticfiles import finders
class Command(NoArgsCommand):
"""
Command that allows to copy or symlink media files from different
- locations to the settings.STATICFILES_ROOT.
+ locations to the settings.STATIC_ROOT.
"""
option_list = NoArgsCommand.option_list + (
make_option('--noinput', action='store_false', dest='interactive',
@@ -85,7 +85,7 @@ Type 'yes' to continue, or 'no' to cancel: """)
self.stdout.write("\n%s static file%s %s to '%s'%s.\n"
% (actual_count, actual_count != 1 and 's' or '',
symlink and 'symlinked' or 'copied',
- settings.STATICFILES_ROOT,
+ settings.STATIC_ROOT,
unmodified_count and ' (%s unmodified)'
% unmodified_count or ''))
diff --git a/django/contrib/staticfiles/management/commands/runserver.py b/django/contrib/staticfiles/management/commands/runserver.py
index e13875994b..f4c22598c3 100644
--- a/django/contrib/staticfiles/management/commands/runserver.py
+++ b/django/contrib/staticfiles/management/commands/runserver.py
@@ -8,7 +8,7 @@ from django.contrib.staticfiles.handlers import StaticFilesHandler
class Command(BaseRunserverCommand):
option_list = BaseRunserverCommand.option_list + (
make_option('--nostatic', action="store_false", dest='use_static_handler', default=True,
- help='Tells Django to NOT automatically serve static files at STATICFILES_URL.'),
+ help='Tells Django to NOT automatically serve static files at STATIC_URL.'),
make_option('--insecure', action="store_true", dest='insecure_serving', default=False,
help='Allows serving static files even if DEBUG is False.'),
)
diff --git a/django/contrib/staticfiles/storage.py b/django/contrib/staticfiles/storage.py
index b4bfea74d4..eb0eabf861 100644
--- a/django/contrib/staticfiles/storage.py
+++ b/django/contrib/staticfiles/storage.py
@@ -12,21 +12,22 @@ class StaticFilesStorage(FileSystemStorage):
Standard file system storage for site media files.
The defaults for ``location`` and ``base_url`` are
- ``STATICFILES_ROOT`` and ``STATICFILES_URL``.
+ ``STATIC_ROOT`` and ``STATIC_URL``.
"""
def __init__(self, location=None, base_url=None, *args, **kwargs):
if location is None:
- location = settings.STATICFILES_ROOT
+ location = settings.STATIC_ROOT
if base_url is None:
- base_url = settings.STATICFILES_URL
+ base_url = settings.STATIC_URL
if not location:
raise ImproperlyConfigured("You're using the staticfiles app "
- "without having set the STATICFILES_ROOT setting. Set it to "
+ "without having set the STATIC_ROOT setting. Set it to "
"the absolute path of the directory that holds static media.")
- if not base_url:
+ # check for None since we might use a root URL (``/``)
+ if base_url is None:
raise ImproperlyConfigured("You're using the staticfiles app "
- "without having set the STATICFILES_URL setting. Set it to "
- "URL that handles the files served from STATICFILES_ROOT.")
+ "without having set the STATIC_URL setting. Set it to "
+ "URL that handles the files served from STATIC_ROOT.")
if settings.DEBUG:
utils.check_settings()
super(StaticFilesStorage, self).__init__(location, base_url, *args, **kwargs)
diff --git a/django/contrib/staticfiles/templatetags/__init__.py b/django/contrib/staticfiles/templatetags/__init__.py
deleted file mode 100644
index e69de29bb2..0000000000
--- a/django/contrib/staticfiles/templatetags/__init__.py
+++ /dev/null
diff --git a/django/contrib/staticfiles/templatetags/staticfiles.py b/django/contrib/staticfiles/templatetags/staticfiles.py
deleted file mode 100644
index 6153f5a385..0000000000
--- a/django/contrib/staticfiles/templatetags/staticfiles.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from django import template
-from django.utils.encoding import iri_to_uri
-
-register = template.Library()
-
-class StaticFilesPrefixNode(template.Node):
-
- def __init__(self, varname=None):
- self.varname = varname
-
- def render(self, context):
- try:
- from django.conf import settings
- except ImportError:
- prefix = ''
- else:
- prefix = iri_to_uri(settings.STATICFILES_URL)
- if self.varname is None:
- return prefix
- context[self.varname] = prefix
- return ''
-
-@register.tag
-def get_staticfiles_prefix(parser, token):
- """
- Populates a template variable with the prefix (settings.STATICFILES_URL).
-
- Usage::
-
- {% get_staticfiles_prefix [as varname] %}
-
- Examples::
-
- {% get_staticfiles_prefix %}
- {% get_staticfiles_prefix as staticfiles_prefix %}
-
- """
- tokens = token.contents.split()
- if len(tokens) > 1 and tokens[1] != 'as':
- raise template.TemplateSyntaxError(
- "First argument in '%s' must be 'as'" % tokens[0])
- return StaticFilesPrefixNode(varname=(len(tokens) > 1 and tokens[2] or None))
-
diff --git a/django/contrib/staticfiles/urls.py b/django/contrib/staticfiles/urls.py
index 70f04f2ec9..aa4ab459d1 100644
--- a/django/contrib/staticfiles/urls.py
+++ b/django/contrib/staticfiles/urls.py
@@ -18,15 +18,10 @@ def staticfiles_urlpatterns(prefix=None):
if not settings.DEBUG:
return []
if prefix is None:
- prefix = settings.STATICFILES_URL
- if not prefix:
+ prefix = settings.STATIC_URL
+ if not prefix or '://' in prefix:
raise ImproperlyConfigured(
- "The prefix for the 'staticfiles_urlpatterns' helper is empty. "
- "Make sure the STATICFILES_URL setting is set correctly.")
- if '://' in prefix:
- raise ImproperlyConfigured(
- "The STATICFILES_URL setting is a full URL, not a path and "
- "can't be used with the 'staticfiles_urlpatterns' helper.")
+ "The prefix for the 'staticfiles_urlpatterns' helper is invalid.")
if prefix.startswith("/"):
prefix = prefix[1:]
return patterns('',
diff --git a/django/contrib/staticfiles/utils.py b/django/contrib/staticfiles/utils.py
index 0071dbd370..428bb69b1e 100644
--- a/django/contrib/staticfiles/utils.py
+++ b/django/contrib/staticfiles/utils.py
@@ -33,13 +33,13 @@ def get_files(storage, ignore_patterns=[], location=''):
def check_settings():
"""
- Checks if the MEDIA_(ROOT|URL) and STATICFILES_(ROOT|URL)
+ Checks if the MEDIA_(ROOT|URL) and STATIC_(ROOT|URL)
settings have the same value.
"""
- if settings.MEDIA_URL == settings.STATICFILES_URL:
- raise ImproperlyConfigured("The MEDIA_URL and STATICFILES_URL "
- "settings must have individual values")
- if ((settings.MEDIA_ROOT and settings.STATICFILES_ROOT) and
- (settings.MEDIA_ROOT == settings.STATICFILES_ROOT)):
- raise ImproperlyConfigured("The MEDIA_ROOT and STATICFILES_ROOT "
- "settings must have individual values")
+ if settings.MEDIA_URL == settings.STATIC_URL:
+ raise ImproperlyConfigured("The MEDIA_URL and STATIC_URL "
+ "settings must have different values")
+ if ((settings.MEDIA_ROOT and settings.STATIC_ROOT) and
+ (settings.MEDIA_ROOT == settings.STATIC_ROOT)):
+ raise ImproperlyConfigured("The MEDIA_ROOT and STATIC_ROOT "
+ "settings must have different values")