docs: def django_main(server_getter):
      """
      Call this within `__main__` to start the service as a standalone server with Django support. Your server should have
      `use_django=True`. If it does not, see `simple_main`, instead.
  
      :param server_getter: A callable that returns the service's `Server` class (not an instance of it). Your service
                            code should not be imported until the `server_getter` callable is called, otherwise Django
                            errors will occur.
      """
      import os
      # noinspection PyUnresolvedReferences,PyPackageRequirements
      import django
  
      parser = _get_arg_parser()
      parser.add_argument(
          '-s', '--settings',
          help='The settings module to use (must be importable)',
          required='DJANGO_SETTINGS_MODULE' not in os.environ,  # if env var does not exist, this argument is required
      )
      args = _get_args(parser)
      if args.settings:
          os.environ['DJANGO_SETTINGS_MODULE'] = args.settings
  
      warn_about_logging = False
  
      try:
          # We have to import it manually, because we need to manipulate the settings before setup() is called, but we
          # can't import django.conf.settings until after setup() is called.
          django_settings = importlib.import_module(os.environ['DJANGO_SETTINGS_MODULE'])
          if (
              getattr(django_settings, 'LOGGING', None) and
              django_settings.LOGGING != django_settings.SOA_SERVER_SETTINGS['logging']
          ):
              warn_about_logging = True
          django_settings.LOGGING = django_settings.SOA_SERVER_SETTINGS['logging']
      except ImportError:
          raise ValueError('Cannot import Django settings module `{}`.'.format(os.environ['DJANGO_SETTINGS_MODULE']))
      except AttributeError:
          raise ValueError('Cannot find `SOA_SERVER_SETTINGS` in the Django settings module.')
      except KeyError:
          raise ValueError(
              "Cannot configure Django `LOGGING` setting because no setting `SOA_SERVER_SETTINGS['logging']` was found.",
          )
  
      if django.VERSION >= (1, 7):
          django.setup()
  
      if warn_about_logging:
          logging.warning(
              "Django setting `LOGGING` differs from `SOA_SERVER_SETTINGS['logging']` and has been overwritten with "
              "the value of `SOA_SERVER_SETTINGS['logging']`."
          )
  
      _run_server_reloader_wrapper(args, server_getter())