From d32c2908464465d6eda5e69da95a1c6269031def Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Fri, 9 Jan 2009 12:41:07 +0000 Subject: [PATCH] Revised r9566 slightly to be backwards compatible with versions 1.0 - 1.0.2. Also documented the change. We prefer to load directory_index.html for static directory listings, but if you have the (older style) "directory_index" template and no .html version, we'll load that. This should stop a bunch of mysterious breakages when people upgrade to Django 1.0.3 or Django 1.1. Also keeps the docs in sync with released code. Fixed #9993. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9725 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/views/static.py | 3 ++- docs/howto/static-files.txt | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/django/views/static.py b/django/views/static.py index c8ebf0c22d..8355950fe0 100644 --- a/django/views/static.py +++ b/django/views/static.py @@ -91,7 +91,8 @@ DEFAULT_DIRECTORY_INDEX_TEMPLATE = """ def directory_index(path, fullpath): try: - t = loader.get_template('static/directory_index.html') + t = loader.select_template(['static/directory_index.html', + 'static/directory_index']) except TemplateDoesNotExist: t = Template(DEFAULT_DIRECTORY_INDEX_TEMPLATE, name='Default directory index template') files = [] diff --git a/docs/howto/static-files.txt b/docs/howto/static-files.txt index b0b76bd78b..bff472fc3f 100644 --- a/docs/howto/static-files.txt +++ b/docs/howto/static-files.txt @@ -90,7 +90,7 @@ You can customize the index view by creating a template called * ``directory`` -- the directory name (a string) * ``file_list`` -- a list of file names (as strings) in the directory -Here's the default ``static/directory_index`` template: +Here's the default ``static/directory_index.html`` template: .. code-block:: html+django @@ -112,6 +112,14 @@ Here's the default ``static/directory_index`` template: +.. versionchanged:: 1.0.3 + Prior to Django 1.0.3, there was a bug in the view that provided directory + listings. The template that was loaded had to be called + ``static/directory_listing`` (with no ``.html`` extension). For backwards + compatibility with earlier versions, Django will still load templates with + the older (no extension) name, but it will prefer a the + ``directory_index.html`` version. + Limiting use to DEBUG=True ==========================