modern-django-starter/apps/core/management/commands/configure_site.py
amitrana01 7a47ca4058 Fix django_site relation error by adding Site configuration
- Add configure_site management command to create Django Site object
- Configure site domain as dt.netcoptech.com during startup (like quantum-digital)
- Update both compose files to run configure_site after migrations
- This fixes the 'relation django_site does not exist' error on /accounts/login/

Django Allauth requires a Site object to work properly.
2025-09-11 18:39:00 +05:30

45 lines
1.3 KiB
Python

from django.core.management.base import BaseCommand
from django.contrib.sites.models import Site
from django.conf import settings
class Command(BaseCommand):
help = 'Configure Django Site for production domain'
def add_arguments(self, parser):
parser.add_argument(
'--domain',
type=str,
default='dt.netcoptech.com',
help='Domain name for the site',
)
parser.add_argument(
'--name',
type=str,
default='Django Template',
help='Display name for the site',
)
def handle(self, *args, **options):
domain = options['domain']
name = options['name']
# Get or create the default site (pk=1)
site, created = Site.objects.get_or_create(pk=1)
site.domain = domain
site.name = name
site.save()
if created:
self.stdout.write(
self.style.SUCCESS(f'✅ Created new site: {name} ({domain})')
)
else:
self.stdout.write(
self.style.SUCCESS(f'✅ Updated existing site: {name} ({domain})')
)
self.stdout.write(
self.style.SUCCESS('Site configuration completed successfully!')
)