Files
notytex/app_config_classes.py

45 lines
1.2 KiB
Python

from config.settings import settings
class Config:
"""Configuration de base"""
SECRET_KEY = settings.SECRET_KEY
SQLALCHEMY_DATABASE_URI = settings.DATABASE_URL
SQLALCHEMY_TRACK_MODIFICATIONS = False
WTF_CSRF_TIME_LIMIT = settings.WTF_CSRF_TIME_LIMIT
DEBUG = settings.DEBUG
LOG_LEVEL = settings.LOG_LEVEL
class DevelopmentConfig(Config):
"""Configuration pour le développement"""
DEBUG = settings.DEBUG
SQLALCHEMY_ECHO = settings.DB_ECHO
class ProductionConfig(Config):
"""Configuration pour la production"""
DEBUG = False
SQLALCHEMY_ECHO = False
@classmethod
def init_app(cls, app):
Config.init_app(app)
# Log vers stderr en production
import logging
from logging import StreamHandler
file_handler = StreamHandler()
file_handler.setLevel(logging.WARNING)
app.logger.addHandler(file_handler)
class TestingConfig(Config):
"""Configuration pour les tests"""
TESTING = True
SQLALCHEMY_DATABASE_URI = 'sqlite:///:memory:'
WTF_CSRF_ENABLED = False
DEBUG = True
config = {
'development': DevelopmentConfig,
'production': ProductionConfig,
'testing': TestingConfig,
'default': DevelopmentConfig
}