Fixed #27171 -- Added unicode_literals and coding preamble to all files in startapp template on Python 2.

This commit is contained in:
Ivan 2016-09-03 19:00:00 +03:00 committed by Tim Graham
parent 277fe2e8f2
commit 9a2a52558e
5 changed files with 15 additions and 5 deletions

View File

@ -1,3 +1,3 @@
from django.contrib import admin
{{ unicode_literals }}from django.contrib import admin
# Register your models here.

View File

@ -1,3 +1,3 @@
from django.test import TestCase
{{ unicode_literals }}from django.test import TestCase
# Create your tests here.

View File

@ -1,3 +1,3 @@
from django.shortcuts import render
{{ unicode_literals }}from django.shortcuts import render
# Create your views here.

View File

@ -114,7 +114,8 @@ class TemplateCommand(BaseCommand):
camel_case_name: camel_case_value,
'docs_version': get_docs_version(),
'django_version': django.__version__,
'unicode_literals': '' if six.PY3 else 'from __future__ import unicode_literals\n\n',
'unicode_literals': '' if six.PY3 else '# -*- coding: utf-8 -*-\n'
'from __future__ import unicode_literals\n\n',
}), autoescape=False)
# Setup a stub settings environment for template rendering

View File

@ -613,7 +613,7 @@ class DjangoAdminSettingsDirectory(AdminScriptTestCase):
self.addCleanup(shutil.rmtree, app_path)
self.assertNoOutput(err)
self.assertTrue(os.path.exists(app_path))
unicode_literals_import = "from __future__ import unicode_literals\n"
unicode_literals_import = "# -*- coding: utf-8 -*-\nfrom __future__ import unicode_literals\n\n"
with open(os.path.join(app_path, 'apps.py'), 'r') as f:
content = f.read()
self.assertIn("class SettingsTestConfig(AppConfig)", content)
@ -624,6 +624,15 @@ class DjangoAdminSettingsDirectory(AdminScriptTestCase):
with open(os.path.join(app_path, 'models.py'), 'r') as fp:
content = fp.read()
self.assertIn(unicode_literals_import, content)
with open(os.path.join(app_path, 'views.py'), 'r') as fp:
content = fp.read()
self.assertIn(unicode_literals_import, content)
with open(os.path.join(app_path, 'admin.py'), 'r') as fp:
content = fp.read()
self.assertIn(unicode_literals_import, content)
with open(os.path.join(app_path, 'tests.py'), 'r') as fp:
content = fp.read()
self.assertIn(unicode_literals_import, content)
def test_setup_environ_custom_template(self):
"directory: startapp creates the correct directory with a custom template"