docs: def urljoin(domain, path=None, scheme=None):
      """
      Joins a domain, path and scheme part together, returning a full URL.
  
      :param domain: the domain, e.g. ``example.com``
      :param path: the path part of the URL, e.g. ``/example/``
      :param scheme: the scheme part of the URL, e.g. ``http``, defaulting to the
          value of ``settings.DEFAULT_URL_SCHEME``
      :returns: a full URL
      """
      if scheme is None:
          scheme = getattr(settings, 'DEFAULT_URL_SCHEME', 'http')
  
      return urlunparse((scheme, domain, path or '', None, None, None))