Files
Personal-Finance-Management/app/config.py
T
2026-05-31 17:04:18 -04:00

49 lines
1.4 KiB
Python

import os
from dotenv import load_dotenv
load_dotenv()
class Config:
SECRET_KEY = os.environ.get('SECRET_KEY', 'dev-secret-change-me')
SQLALCHEMY_TRACK_MODIFICATIONS = False
WTF_CSRF_ENABLED = True
DATABASE_URL = os.environ.get('DATABASE_URL', '')
SQLALCHEMY_DATABASE_URI = DATABASE_URL
GROQ_API_KEY = os.environ.get('GROQ_API_KEY', '')
GROQ_MODEL = os.environ.get('GROQ_MODEL', 'llama-3.3-70b-versatile')
UPLOAD_FOLDER = os.environ.get('UPLOAD_FOLDER', '/home/pfm/app/uploads')
MAX_CONTENT_LENGTH = int(os.environ.get('MAX_CONTENT_LENGTH', 10485760))
APP_CURRENCY = os.environ.get('APP_CURRENCY', 'USD')
APP_CURRENCY_SYMBOL = os.environ.get('APP_CURRENCY_SYMBOL', '$')
APP_TIMEZONE = os.environ.get('APP_TIMEZONE', 'Asia/Ho_Chi_Minh')
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif', 'pdf'}
class DevelopmentConfig(Config):
DEBUG = True
SQLALCHEMY_DATABASE_URI = os.environ.get(
'DATABASE_URL',
'mysql+pymysql://pfm_user:password@localhost/pfm_db'
)
SQLALCHEMY_ECHO = False # set True to log SQL queries during dev
class ProductionConfig(Config):
DEBUG = False
SQLALCHEMY_ECHO = False
SESSION_COOKIE_SECURE = True
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_SAMESITE = 'Lax'
config = {
'development': DevelopmentConfig,
'production': ProductionConfig,
'default': DevelopmentConfig,
}