March 2020
Intermediate to advanced
608 pages
17h 17m
English
Instead of environment variables, you can also use text files with sensitive information that won't be tracked under version control. They can be YAML, INI, CSV, or JSON files, placed somewhere on the hard disk. For example, for a JSON file, you would have the get_secret() function, like this:
# settings/_base.pyimport osimport jsonwith open(os.path.join(os.path.dirname(__file__), 'secrets.json'), 'r') as f: secrets = json.loads(f.read())def get_secret(setting): """Get the secret variable or return explicit exception.""" try: return secrets[setting] except KeyError: error_msg = f'Set the {setting} secret variable' raise ImproperlyConfigured(error_msg)
This reads a secrets.json file from the settings directory and expects ...