Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #19397 -- Crash on binary files in project templates.

Thanks gw 2012 at tnode com for the report.
  • Loading branch information...
commit baae4b818778180fedfcfcfc7aa77acfb9b237fb 1 parent 2e2c496
@aaugustin aaugustin authored
View
8 django/core/management/templates.py
@@ -8,8 +8,6 @@
import stat
import sys
import tempfile
-import codecs
-
try:
from urllib.request import urlretrieve
except ImportError: # Python 2
@@ -156,12 +154,14 @@ def handle(self, app_or_project, name, target=None, **options):
# Only render the Python files, as we don't want to
# accidentally render Django templates files
- with codecs.open(old_path, 'r', 'utf-8') as template_file:
+ with open(old_path, 'rb') as template_file:
content = template_file.read()
if filename.endswith(extensions) or filename in extra_files:
+ content = content.decode('utf-8')
template = Template(content)
content = template.render(context)
- with codecs.open(new_path, 'w', 'utf-8') as new_file:
+ content = content.encode('utf-8')
+ with open(new_path, 'wb') as new_file:
new_file.write(content)
if self.verbosity >= 2:
View
BIN  tests/regressiontests/admin_scripts/custom_templates/project_template/ticket-19397-binary-file.ico
Binary file not shown
Please sign in to comment.
Something went wrong with that request. Please try again.