Aller au contenu principal

3 formations sont désormais disponibles : Python, Flask et JS.

Aller au contenu principal
Apprendre Flask : Le Guide Ultime
2 min de lecture
Gratuit

Ne mets jamais ta SECRET_KEY ou tes mots de passe de base de données directement dans le code commits sur GitHub. On utilise des Classes de Configuration.

Crée un fichier config.py.

import os

class Config:
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'cle-par-defaut-tres-secrete'
    SQLALCHEMY_TRACK_MODIFICATIONS = False

class DevelopmentConfig(Config):
    DEBUG = True
    SQLALCHEMY_DATABASE_URI = 'sqlite:///site.db'

class ProductionConfig(Config):
    DEBUG = False
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') # ex: Postgresql
    
class TestConfig(Config):
    TESTING = True
    SQLALCHEMY_DATABASE_URI = 'sqlite:///:memory:' # BDD en RAM pour les tests (rapide !)

Utilisation dans la Factory

# app/__init__.py

from config import DevelopmentConfig

def create_app(config_class=DevelopmentConfig):
    app = Flask(__name__)
    app.config.from_object(config_class)
    # ...

Maintenant, tu peux changer d'environnement juste en changeant la classe passée à create_app(). C'est comme ça qu'on passe du mode "Bricolage" au mode "Production" sans douleur.