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!')