Modified the staticfiles serve view to return a 404 early in the stack.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@15539 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Jannis Leidel 2011-02-14 23:45:41 +00:00
parent 64a0a33c33
commit 4bb2db0cae
1 changed files with 4 additions and 3 deletions

View File

@ -25,7 +25,7 @@ def serve(request, path, document_root=None, insecure=False, **kwargs):
in your URLconf.
It automatically falls back to django.views.static
It uses the django.views.static view to serve the found files.
"""
if not settings.DEBUG and not insecure:
raise ImproperlyConfigured("The staticfiles view can only be used in "
@ -33,6 +33,7 @@ def serve(request, path, document_root=None, insecure=False, **kwargs):
"option of 'runserver' is used")
normalized_path = posixpath.normpath(urllib.unquote(path)).lstrip('/')
absolute_path = finders.find(normalized_path)
if absolute_path:
document_root, path = os.path.split(absolute_path)
if not absolute_path:
raise Http404("'%s' could not be found" % path)
document_root, path = os.path.split(absolute_path)
return static.serve(request, path, document_root=document_root, **kwargs)