diff options
| author | Aymeric Augustin <aymeric.augustin@m4x.org> | 2012-12-03 10:37:26 +0100 |
|---|---|---|
| committer | Aymeric Augustin <aymeric.augustin@m4x.org> | 2012-12-03 10:45:18 +0100 |
| commit | baae4b818778180fedfcfcfc7aa77acfb9b237fb (patch) | |
| tree | 9f714d16190c87d3f1f1eddae69fb4da73accf98 | |
| parent | 2e2c4968f6b9b57354af7229687d179941ed74c5 (diff) | |
Fixed #19397 -- Crash on binary files in project templates.
Thanks gw 2012 at tnode com for the report.
| -rw-r--r-- | django/core/management/templates.py | 8 | ||||
| -rw-r--r-- | tests/regressiontests/admin_scripts/custom_templates/project_template/ticket-19397-binary-file.ico | bin | 0 -> 894 bytes |
2 files changed, 4 insertions, 4 deletions
diff --git a/django/core/management/templates.py b/django/core/management/templates.py index d34a0deb7e..f522097b8c 100644 --- a/django/core/management/templates.py +++ b/django/core/management/templates.py @@ -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: diff --git a/tests/regressiontests/admin_scripts/custom_templates/project_template/ticket-19397-binary-file.ico b/tests/regressiontests/admin_scripts/custom_templates/project_template/ticket-19397-binary-file.ico Binary files differnew file mode 100644 index 0000000000..1db49645b5 --- /dev/null +++ b/tests/regressiontests/admin_scripts/custom_templates/project_template/ticket-19397-binary-file.ico |
