Fixed #24950 -- Added unicode_literals to models.py in app template

Thanks Tim Graham for the patch
This commit is contained in:
Markus Holtermann 2015-06-10 20:19:21 +02:00
parent 339c01fb75
commit 5d42890821
3 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,3 @@
from django.db import models
{{ unicode_literals }}from django.db import models
# Create your models here.

View File

@ -14,7 +14,7 @@ import django
from django.core.management.base import BaseCommand, CommandError
from django.core.management.utils import handle_extensions
from django.template import Context, Engine
from django.utils import archive
from django.utils import archive, six
from django.utils.six.moves.urllib.request import urlretrieve
from django.utils.version import get_docs_version
@ -104,6 +104,7 @@ class TemplateCommand(BaseCommand):
base_directory: top_dir,
'docs_version': get_docs_version(),
'django_version': django.__version__,
'unicode_literals': '' if six.PY3 else 'from __future__ import unicode_literals\n\n',
}), autoescape=False)
# Setup a stub settings environment for template rendering

View File

@ -31,7 +31,7 @@ from django.test import (
from django.test.runner import DiscoverRunner
from django.utils._os import npath, upath
from django.utils.encoding import force_text
from django.utils.six import StringIO
from django.utils.six import PY3, StringIO
test_dir = os.path.realpath(os.path.join(tempfile.gettempdir(), 'test_project'))
if not os.path.exists(test_dir):
@ -592,6 +592,13 @@ class DjangoAdminSettingsDirectory(AdminScriptTestCase):
self.addCleanup(shutil.rmtree, app_path)
self.assertNoOutput(err)
self.assertTrue(os.path.exists(app_path))
if not PY3:
with open(os.path.join(app_path, 'models.py'), 'r') as fp:
content = fp.read()
self.assertIn(
"from __future__ import unicode_literals\n",
content,
)
def test_setup_environ_custom_template(self):
"directory: startapp creates the correct directory with a custom template"