Commit baae4b81 authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

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

Thanks gw 2012 at tnode com for the report.
parent 2e2c4968
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -8,8 +8,6 @@ import shutil
import stat
import sys
import tempfile
import codecs

try:
    from urllib.request import urlretrieve
except ImportError:     # Python 2
@@ -156,12 +154,14 @@ class TemplateCommand(BaseCommand):

                # 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: