Python: Omgevingsvariabelen beheren

Deze documentatie maakt deel uit van de Een REST API maken-gids. Bekijk de volledige gids hier: Hoe een REST API te maken met Flask.

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een kant-en-klare Python cloud oplossing die tal van voordelen biedt, waaronder:

  • Implementeer uw applicatie in seconden met een eenvoudige git push.
  • Gebruik uw eigen domeinnaam en profiteer van de automatische configuratie van HTTPS-certificaten voor verbeterde beveiliging.
  • Geniet van gemoedsrust met automatische back-ups, updates met één klik, en eenvoudige, transparante en voorspelbare prijzen.
  • Krijg optimale prestaties en robuuste beveiliging dankzij een privé en dedicated VM.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Python cloud hosting oplossing van Stackhero te proberen!

Omgevingsvariabelen zijn essentieel voor het beschermen van gevoelige informatie, zoals database-inloggegevens of API-sleutels. Er zijn twee belangrijke voordelen aan het gebruik van omgevingsvariabelen:

  1. Uw geheimen worden niet opgeslagen in uw Git-repository, waardoor onbevoegden geen toegang hebben tot uw gevoelige gegevens, zelfs als ze toegang krijgen tot uw broncode.
  2. U kunt verschillende inloggegevens gebruiken voor verschillende omgevingen (bijvoorbeeld productie versus ontwikkeling).

Om omgevingsvariabelen te beheren, gebruiken we de python-dotenv module. Installeer deze eerst als u dat nog niet heeft gedaan:

pip install python-dotenv
pip freeze > requirements.txt

Maak vervolgens een .env bestand in de hoofdmap van uw project en voeg uw ontwikkelomgevingsvariabelen toe. Bijvoorbeeld:

ENV="development"
DATABASE_PASSWORD="secretPassword"
THIRD_API_PRIVATE_KEY="secretKey"

Voeg ten slotte het .env bestand toe aan uw .gitignore om de veiligheid te waarborgen:

echo ".env" >> .gitignore

Om toegang te krijgen tot deze omgevingsvariabelen in Python, gebruikt u eenvoudig os.environ.get():

import os

print(os.environ.get('ENV'))

Het .env bestand wordt alleen gebruikt voor de ontwikkelomgeving. Voor staging of productie stelt u de omgevingsvariabelen in op het Stackhero dashboard in uw Python serviceconfiguratie.