Если вы хотите сделать это автоматически, попробуйте это
from django.contrib import sites
from django.db.models import signals
from django.conf import settings
def create_site(app, created_models, verbosity, **kwargs):
"""
Create the default site when when we install the sites framework
"""
if sites.models.Site in created_models:
sites.models.Site.objects.all().delete()
site = sites.models.Site()
site.pk = getattr(settings, 'SITE_ID', 1)
site.name = getattr(settings, 'SITE_NAME', 'Example')
site.domain = getattr(settings, 'SITE_DOMAIN', 'example.com')
site.save()
signals.post_syncdb.connect(create_site, sender=sites.models)
Этот код необходимо запускать всякий раз, когда выполняется команда управления. Таким образом, вы можете поместить его в management/__init__.py
для любого приложения. Затем просто добавьте SITE_ID
, SITE_NAME
и SITE_DOMAIN
к вашему settings.py
.