Fixed #25909 -- Added unicode_literals import to apps.py generated by startapp.

This commit is contained in:
Tim Graham 2015-12-10 09:13:05 -05:00
parent b0ad5081d5
commit 10427646b8
3 changed files with 10 additions and 5 deletions

View File

@ -1,4 +1,4 @@
from django.apps import AppConfig {{ unicode_literals }}from django.apps import AppConfig
class {{ camel_case_app_name }}Config(AppConfig): class {{ camel_case_app_name }}Config(AppConfig):

View File

@ -29,3 +29,8 @@ Bugfixes
* Fixed admin's delete confirmation page's summary counts of related objects * Fixed admin's delete confirmation page's summary counts of related objects
(:ticket:`25883`). (:ticket:`25883`).
* Added ``from __future__ import unicode_literals`` to the default ``apps.py``
created by ``startapp`` on Python 2 (:ticket:`25909`). Add this line to your
own ``apps.py`` files created using Django 1.9 if you want your migrations
to work on both Python 2 and Python 3.

View File

@ -610,17 +610,17 @@ class DjangoAdminSettingsDirectory(AdminScriptTestCase):
self.addCleanup(shutil.rmtree, app_path) self.addCleanup(shutil.rmtree, app_path)
self.assertNoOutput(err) self.assertNoOutput(err)
self.assertTrue(os.path.exists(app_path)) self.assertTrue(os.path.exists(app_path))
unicode_literals_import = "from __future__ import unicode_literals\n"
with open(os.path.join(app_path, 'apps.py'), 'r') as f: with open(os.path.join(app_path, 'apps.py'), 'r') as f:
content = f.read() content = f.read()
self.assertIn("class SettingsTestConfig(AppConfig)", content) self.assertIn("class SettingsTestConfig(AppConfig)", content)
self.assertIn("name = 'settings_test'", content) self.assertIn("name = 'settings_test'", content)
if not PY3:
self.assertIn(unicode_literals_import, content)
if not PY3: if not PY3:
with open(os.path.join(app_path, 'models.py'), 'r') as fp: with open(os.path.join(app_path, 'models.py'), 'r') as fp:
content = fp.read() content = fp.read()
self.assertIn( self.assertIn(unicode_literals_import, content)
"from __future__ import unicode_literals\n",
content,
)
def test_setup_environ_custom_template(self): def test_setup_environ_custom_template(self):
"directory: startapp creates the correct directory with a custom template" "directory: startapp creates the correct directory with a custom template"