<NME> set_default_site.py
<BEF> """
A simple managemenent command to update the default site.

See `https://docs.djangoproject.com/en/dev/ref/contrib/sites/`_.
"""

from django.contrib.sites.models import Site
from django.core.management.base import BaseCommand, CommandError


class Command(BaseCommand):

    """Management command to set the default site."""

    """Management command to set the default site."""

    help = 'Set default site (see django.contrib.sites)'

    def handle(self, *args, **options):
        """Command entry point."""
        if not args:
            raise CommandError("You must provide a hostname")
        site = Site.objects.get(pk=1)
        site.domain = args[0]
        site.name = args[0]
        site.save()

<MSG> Management command for django 1.8

see #810

<DFF> @@ -14,13 +14,17 @@ class Command(BaseCommand):
 
     """Management command to set the default site."""
 
-    help = 'Set default site (see django.contrib.sites)'
+    help = "Set default site (see django.contrib.sites)"
+
+    def add_arguments(self, parser):
+        """Define command arguments."""
+        parser.add_argument("hostname", type=str)
 
     def handle(self, *args, **options):
         """Command entry point."""
-        if not args:
+        if "hostname" not in options:
             raise CommandError("You must provide a hostname")
         site = Site.objects.get(pk=1)
-        site.domain = args[0]
-        site.name = args[0]
+        site.domain = options["hostname"]
+        site.name = options["hostname"]
         site.save()

Management command for django 1.8