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.
This commit is contained in:
amitrana01 2025-09-11 18:39:00 +05:30
parent 468710b900
commit 7a47ca4058
3 changed files with 46 additions and 0 deletions

View File

@ -0,0 +1,44 @@
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!')
)

View File

@ -17,5 +17,6 @@ services:
sh -c "python manage.py migrate &&
python manage.py create_groups &&
python manage.py setup_social_apps &&
python manage.py configure_site --domain=dt.netcoptech.com --name='Django Template' &&
python manage.py collectstatic --noinput &&
gunicorn --bind 0.0.0.0:8000 --workers 3 --timeout 120 django_project.wsgi:application"

View File

@ -39,5 +39,6 @@ networks:
sh -c "python manage.py migrate &&
python manage.py create_groups &&
python manage.py setup_social_apps &&
python manage.py configure_site --domain=dt.netcoptech.com --name='Django Template' &&
python manage.py collectstatic --noinput &&
gunicorn --bind 0.0.0.0:8000 --workers 3 --timeout 120 django_project.wsgi:application"