summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2016-08-10 11:27:03 -0400
committerGitHub <noreply@github.com>2016-08-10 11:27:03 -0400
commit1e32e1cc951ac9bada52aa20a9523acc7cc6ecb3 (patch)
tree4b966038f7c062a270f181ae0d9c2cb1988a1beb
parent0814566bf1212c9d63982a7107693108b73394df (diff)
Fixed #26973 -- Fixed views.static.serve() crash with show_indexes enabled.
-rw-r--r--django/views/static.py2
-rw-r--r--docs/releases/1.10.1.txt3
-rw-r--r--tests/view_tests/tests/test_static.py4
-rw-r--r--tests/view_tests/urls.py2
4 files changed, 9 insertions, 2 deletions
diff --git a/django/views/static.py b/django/views/static.py
index 6187f6ffd9..2af26621f3 100644
--- a/django/views/static.py
+++ b/django/views/static.py
@@ -107,7 +107,7 @@ def directory_index(path, fullpath):
'static/directory_index',
])
except TemplateDoesNotExist:
- t = Engine().from_string(DEFAULT_DIRECTORY_INDEX_TEMPLATE)
+ t = Engine(libraries={'i18n': 'django.templatetags.i18n'}).from_string(DEFAULT_DIRECTORY_INDEX_TEMPLATE)
files = []
for f in os.listdir(fullpath):
if not f.startswith('.'):
diff --git a/docs/releases/1.10.1.txt b/docs/releases/1.10.1.txt
index b805fbe12b..2ebd36cf0f 100644
--- a/docs/releases/1.10.1.txt
+++ b/docs/releases/1.10.1.txt
@@ -42,3 +42,6 @@ Bugfixes
backends, such as PostgreSQL, that support returning the IDs of the created
records so that many-to-many relationships can be used on the new objects
(:ticket:`27026`).
+
+* Fixed crash of ``django.views.static.serve()`` with ``show_indexes`` enabled
+ (:ticket:`26973`).
diff --git a/tests/view_tests/tests/test_static.py b/tests/view_tests/tests/test_static.py
index f349c08c7c..8492ec4547 100644
--- a/tests/view_tests/tests/test_static.py
+++ b/tests/view_tests/tests/test_static.py
@@ -108,6 +108,10 @@ class StaticTests(SimpleTestCase):
response = self.client.get('/%s/non_existing_resource' % self.prefix)
self.assertEqual(404, response.status_code)
+ def test_index(self):
+ response = self.client.get('/%s/' % self.prefix)
+ self.assertContains(response, 'Index of /')
+
class StaticHelperTest(StaticTests):
"""
diff --git a/tests/view_tests/urls.py b/tests/view_tests/urls.py
index 50a02e4604..8d2e923a93 100644
--- a/tests/view_tests/urls.py
+++ b/tests/view_tests/urls.py
@@ -103,7 +103,7 @@ urlpatterns = [
url(r'^jsoni18n/$', i18n.JSONCatalog.as_view(packages=['view_tests'])),
# Static views
- url(r'^site_media/(?P<path>.*)$', static.serve, {'document_root': media_dir}),
+ url(r'^site_media/(?P<path>.*)$', static.serve, {'document_root': media_dir, 'show_indexes': True}),
]
urlpatterns += i18n_patterns(