Quellcode durchsuchen

Fixed #15112 -- Ensure that IPv6 addresses are correctly displayed in the admin. Thanks to oxy for the report, and Łukasz Rekucki for the test case.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@15343 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Russell Keith-Magee vor 14 Jahren
Ursprung
Commit
9acd00a72e

+ 1 - 0
django/core/management/commands/runserver.py

@@ -63,6 +63,7 @@ class BaseRunserverCommand(BaseCommand):
                     raise CommandError('"%s" is not a valid IPv6 address.' % self.addr)
         if not self.addr:
             self.addr = self.use_ipv6 and '::1' or '127.0.0.1'
+            self._raw_ipv6 = bool(self.use_ipv6)
         self.run(*args, **options)
 
     def run(self, *args, **options):

+ 3 - 3
tests/regressiontests/admin_scripts/tests.py

@@ -1025,10 +1025,10 @@ class ManageRunserver(AdminScriptTestCase):
 
         # IPv6
         self.cmd.handle(addrport="", use_ipv6=True)
-        self.assertServerSettings('::1', '8000', ipv6=True)
+        self.assertServerSettings('::1', '8000', ipv6=True, raw_ipv6=True)
 
         self.cmd.handle(addrport="7000", use_ipv6=True)
-        self.assertServerSettings('::1', '7000', ipv6=True)
+        self.assertServerSettings('::1', '7000', ipv6=True, raw_ipv6=True)
 
         self.cmd.handle(addrport="[2001:0db8:1234:5678::9]:7000")
         self.assertServerSettings('2001:0db8:1234:5678::9', '7000', ipv6=True, raw_ipv6=True)
@@ -1045,7 +1045,7 @@ class ManageRunserver(AdminScriptTestCase):
 
         # Potentially ambiguous
 
-        # Only 4 characters, all of which coudl be in an ipv6 address
+        # Only 4 characters, all of which could be in an ipv6 address
         self.cmd.handle(addrport="beef:7654")
         self.assertServerSettings('beef', '7654')