mirror of
https://github.com/thecyberlearn/modern-django-starter.git
synced 2026-08-18 23:32:55 +00:00
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:
parent
468710b900
commit
7a47ca4058
44
apps/core/management/commands/configure_site.py
Normal file
44
apps/core/management/commands/configure_site.py
Normal 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!')
|
||||||
|
)
|
||||||
@ -17,5 +17,6 @@ services:
|
|||||||
sh -c "python manage.py migrate &&
|
sh -c "python manage.py migrate &&
|
||||||
python manage.py create_groups &&
|
python manage.py create_groups &&
|
||||||
python manage.py setup_social_apps &&
|
python manage.py setup_social_apps &&
|
||||||
|
python manage.py configure_site --domain=dt.netcoptech.com --name='Django Template' &&
|
||||||
python manage.py collectstatic --noinput &&
|
python manage.py collectstatic --noinput &&
|
||||||
gunicorn --bind 0.0.0.0:8000 --workers 3 --timeout 120 django_project.wsgi:application"
|
gunicorn --bind 0.0.0.0:8000 --workers 3 --timeout 120 django_project.wsgi:application"
|
||||||
|
|||||||
@ -39,5 +39,6 @@ networks:
|
|||||||
sh -c "python manage.py migrate &&
|
sh -c "python manage.py migrate &&
|
||||||
python manage.py create_groups &&
|
python manage.py create_groups &&
|
||||||
python manage.py setup_social_apps &&
|
python manage.py setup_social_apps &&
|
||||||
|
python manage.py configure_site --domain=dt.netcoptech.com --name='Django Template' &&
|
||||||
python manage.py collectstatic --noinput &&
|
python manage.py collectstatic --noinput &&
|
||||||
gunicorn --bind 0.0.0.0:8000 --workers 3 --timeout 120 django_project.wsgi:application"
|
gunicorn --bind 0.0.0.0:8000 --workers 3 --timeout 120 django_project.wsgi:application"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user