'Return the current Site based on the SITE_ID in the project\'s settings.
If SITE_ID isn\'t defined, return the site with domain matching
request.get_host(). The ``Site`` object is cached the first time it\'s
retrieved from the database.'

def get_current(self, request=None):

    from django.conf import settings
    if getattr(settings, 'SITE_ID', ''):
        site_id = settings.SITE_ID
        return self._get_site_by_id(site_id)
    elif request:
        return self._get_site_by_request(request)
    raise ImproperlyConfigured('You\'re    using    the    Django    "sites    framework"    without    having    set    the    SITE_ID    setting.    Create    a    site    in    your    database    and    set    the    SITE_ID    setting    or    pass    a    request    to    Site.objects.get_current()    to    fix    this    error.')
