Como usar a framework de sites do Django para desenvolvimento local

Recentemente, numa aplicação que estou a desenvolver com Django, precisei de obter o domínio da aplicação para um email que é enviado pela aplicação django-registration.

A django-registration gera um código único para activar uma conta de utilizador. Sabem, aquele processo típico de nos registarmos num website, receber um email de confirmação, carregar num link para activar a conta, feito. Como a django-registration depende de nós para criar o URL completo com o código e apenas nos dá uma variável site variable, que é uma instância da classe django.contrib.sites.models.Site, precisamos de usar a framework de sites para isto funcionar.

No entanto, como o site é definido estaticamente por omissão no settings.py, como é que enviamos o email com o link de activação a apontar para a nossa máquina local em vez de apontar para o domínio público da aplicação?

Optei por uma abordagem bastante simples, que consiste em configurar dois sites na administração do Django, sendo o primeiro o site local de desenvolvimento, e o segundo o site que está online, com o domínio público, e depois fazer com que a variável de configuração SITE_ID dependa da variável DEBUG. Assim: DEBUG = bool(os.environ.get(‘DJANGO_DEBUG’, True)) SITE_ID = 1 if DEBUG else 2

E vocês, fariam algo diferente?