Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Explicitly close a file in the static serve view. Thanks to Benjamin …

…Peterson for the report.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16282 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 20fbfbadcd79feab5077b84cbbed2b5908e685f3 1 parent c3db0b0
Alex Gaynor alex authored
Showing with 3 additions and 1 deletion.
  1. +3 −1 django/views/static.py
4 django/views/static.py
View
@@ -2,6 +2,7 @@
Views and functions for serving static files. These are only to be used
during development, and SHOULD NOT be used in a production setting.
"""
+from __future__ import with_statement
import mimetypes
import os
@@ -57,7 +58,8 @@ def serve(request, path, document_root=None, show_indexes=False):
if not was_modified_since(request.META.get('HTTP_IF_MODIFIED_SINCE'),
statobj.st_mtime, statobj.st_size):
return HttpResponseNotModified(mimetype=mimetype)
- response = HttpResponse(open(fullpath, 'rb').read(), mimetype=mimetype)
+ with open(fullpath, 'rb') as f:
+ response = HttpResponse(f.read(), mimetype=mimetype)
response["Last-Modified"] = http_date(statobj.st_mtime)
if stat.S_ISREG(statobj.st_mode):
response["Content-Length"] = statobj.st_size
Please sign in to comment.
Something went wrong with that request. Please try again.