summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDhanush <dhanush18245@gmail.com>2022-10-04 12:20:38 +0530
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-10-04 10:13:32 +0200
commit9fbb5b5e16b44dff97a3caa0e288803a80fabdd3 (patch)
treef4b1e371d17907f82b7a7c6f5efb2766359627e0
parent93d4c9ea1de24eb391cb2b3561b6703fd46374df (diff)
Fixed #34068 -- Corrected output of runserver command for "0" IP address.
Thanks David Sanders for the review.
-rw-r--r--django/core/management/commands/runserver.py9
-rw-r--r--tests/admin_scripts/tests.py15
2 files changed, 23 insertions, 1 deletions
diff --git a/django/core/management/commands/runserver.py b/django/core/management/commands/runserver.py
index 3c39f57e4d..2b91feb375 100644
--- a/django/core/management/commands/runserver.py
+++ b/django/core/management/commands/runserver.py
@@ -129,6 +129,13 @@ class Command(BaseCommand):
shutdown_message = options.get("shutdown_message", "")
quit_command = "CTRL-BREAK" if sys.platform == "win32" else "CONTROL-C"
+ if self._raw_ipv6:
+ addr = f"[{self.addr}]"
+ elif self.addr == "0":
+ addr = "0.0.0.0"
+ else:
+ addr = self.addr
+
if not options["skip_checks"]:
self.stdout.write("Performing system checks...\n\n")
self.check(display_num_errors=True)
@@ -147,7 +154,7 @@ class Command(BaseCommand):
"version": self.get_version(),
"settings": settings.SETTINGS_MODULE,
"protocol": self.protocol,
- "addr": "[%s]" % self.addr if self._raw_ipv6 else self.addr,
+ "addr": addr,
"port": self.port,
"quit_command": quit_command,
}
diff --git a/tests/admin_scripts/tests.py b/tests/admin_scripts/tests.py
index 9d2ca839d5..0a44e8a538 100644
--- a/tests/admin_scripts/tests.py
+++ b/tests/admin_scripts/tests.py
@@ -1587,6 +1587,21 @@ class ManageRunserver(SimpleTestCase):
call_command(self.cmd, addrport="7000")
self.assertServerSettings("127.0.0.1", "7000")
+ @mock.patch("django.core.management.commands.runserver.run")
+ @mock.patch("django.core.management.base.BaseCommand.check_migrations")
+ def test_zero_ip_addr(self, *mocked_objects):
+ call_command(
+ "runserver",
+ addrport="0:8000",
+ use_reloader=False,
+ skip_checks=True,
+ stdout=self.output,
+ )
+ self.assertIn(
+ "Starting development server at http://0.0.0.0:8000/",
+ self.output.getvalue(),
+ )
+
@unittest.skipUnless(socket.has_ipv6, "platform doesn't support IPv6")
def test_runner_addrport_ipv6(self):
call_command(self.cmd, addrport="", use_ipv6=True)