mirror of
https://github.com/thecyberlearn/modern-django-starter.git
synced 2026-08-18 08:52:55 +00:00
- 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
45 lines
1.6 KiB
Python
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!')
|