""" Helper to create a random string for settings.SECRET_KEY SECURITY WARNING: keep the secret key used in production secret! """ import logging from pathlib import Path from secrets import token_urlsafe logger = logging.getLogger(__name__) def get_or_create_secret(secret_file): assert isinstance(secret_file, Path) assert secret_file.parent.is_dir, f'Directory does not exists: {secret_file.parent}' if not secret_file.is_file(): logger.info('Generate %s', secret_file) secret_file.open('w').write(token_urlsafe(128)) with secret_file.open('r') as f: return f.read()