from django.core.management.base import BaseCommand
import random
import string

class Command(BaseCommand):
    help = 'Generate a secret key for Django settings.py file'
    
    def generate_secret_key(self, length=50):
        characters = string.ascii_letters + string.digits + string.punctuation
        secret_key = ''.join(random.choice(characters) for _ in range(length))
        return secret_key

    def handle(self, *args, **options):
        try:
            secret_key = self.generate_secret_key()  # Assign the generated secret key to a variable
            return self.stdout.write(self.style.SUCCESS('Here is your secret key: %s' % secret_key))
        except Exception as e:
            return self.stdout.write(self.style.ERROR(f'Error while generating secret key: {e}'))