modern-django-starter/apps/core/management/commands/debug_settings.py
amitrana01 23f9778964 Add debugging for environment variables and Django settings
- Fix production.py settings to properly read environment variables with defaults
- Add debug_settings management command to troubleshoot environment variable issues
- Add debugging output to entrypoint.sh to see what settings are loaded
- This will help identify why ALLOWED_HOSTS and CSRF_TRUSTED_ORIGINS may not be working
2025-09-11 18:04:23 +05:30

45 lines
1.6 KiB
Python

import os
from django.core.management.base import BaseCommand
from django.conf import settings
class Command(BaseCommand):
help = 'Debug Django settings and environment variables'
def handle(self, *args, **options):
self.stdout.write(
self.style.SUCCESS('🔍 Debug Information for Django Settings')
)
# Check environment variables
env_vars = [
'DJANGO_SETTINGS_MODULE',
'DEBUG',
'ALLOWED_HOSTS',
'CSRF_TRUSTED_ORIGINS',
'SECRET_KEY',
'SECURE_SSL_REDIRECT',
]
self.stdout.write('\n📝 Environment Variables:')
for var in env_vars:
value = os.environ.get(var, 'NOT SET')
if var == 'SECRET_KEY' and value != 'NOT SET':
value = f"{value[:10]}...***" # Hide secret key
self.stdout.write(f" {var} = {value}")
# Check Django settings
self.stdout.write('\n⚙️ Django Settings:')
try:
self.stdout.write(f" DEBUG = {settings.DEBUG}")
self.stdout.write(f" ALLOWED_HOSTS = {settings.ALLOWED_HOSTS}")
self.stdout.write(f" CSRF_TRUSTED_ORIGINS = {getattr(settings, 'CSRF_TRUSTED_ORIGINS', 'NOT SET')}")
self.stdout.write(f" SECURE_SSL_REDIRECT = {getattr(settings, 'SECURE_SSL_REDIRECT', 'NOT SET')}")
self.stdout.write(f" SETTINGS MODULE = {settings.SETTINGS_MODULE}")
except Exception as e:
self.stdout.write(
self.style.ERROR(f"Error reading settings: {e}")
)
self.stdout.write('\n✅ Debug completed!')