Fixed #30872 -- Improved unknown command message when settings are manually configured.

This commit is contained in:
Carlton Gibson 2019-10-15 11:04:38 +02:00 committed by Mariusz Felisiak
parent dee687e93a
commit 1de9a92295
2 changed files with 10 additions and 1 deletions

View File

@ -229,7 +229,7 @@ class ManagementUtility:
# (get_commands() swallows the original one) so the user is
# informed about it.
settings.INSTALLED_APPS
else:
elif not settings.configured:
sys.stderr.write("No Django settings specified.\n")
possible_matches = get_close_matches(subcommand, commands)
sys.stderr.write('Unknown command: %r' % subcommand)

View File

@ -634,6 +634,15 @@ class DjangoAdminSettingsDirectory(AdminScriptTestCase):
# of the generated manage.py script
##########################################################################
class ManageManullyConfiguredSettings(AdminScriptTestCase):
"""Customized manage.py calling settings.configure()."""
def test_non_existent_command_output(self):
out, err = self.run_manage(['invalid_command'], manage_py='configured_settings_manage.py')
self.assertNoOutput(out)
self.assertOutput(err, "Unknown command: 'invalid_command'")
self.assertNotInOutput(err, 'No Django settings specified')
class ManageNoSettings(AdminScriptTestCase):
"A series of tests for manage.py when there is no settings.py file."