config.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import os
  2. basedir = os.path.abspath(os.path.dirname(__file__))
  3. class Config:
  4. SECRET_KEY = os.environ.get('SECRET_KEY') or '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef'
  5. SSL_DISABLE = False
  6. SQLALCHEMY_RECORD_QUERIES = True
  7. SQLALCHEMY_COMMIT_ON_TEARDOWN = True
  8. # SQLALCHEMY_ECHO = True
  9. FLASKY_ADMIN = os.environ.get('FLASKY_ADMIN')
  10. FLASKY_POSTS_PER_PAGE = 20
  11. FLASKY_COMMENTS_PER_PAGE = 30
  12. FLASKY_FOLLOWERS_PER_PAGE = 50
  13. FLASKY_SLOW_DB_QUERY_TIME = 0.5
  14. @staticmethod
  15. def init_app(app):
  16. pass
  17. class DevelopmentConfig(Config):
  18. DEBUG = True
  19. # 数据库
  20. SQLALCHEMY_DATABASE_URI = os.environ.get('DEV_DATABASE_URL') or 'sqlite:///' + os.path.join(basedir, 'data-dev.sqlite')
  21. # redis缓存
  22. REDIS_URL = os.environ.get('DEV_REDIS_URL') or "redis://:test@localhost:51002/0"
  23. # 定时任务
  24. SCHEDULER_API_ENABLED = True
  25. class TestingConfig(Config):
  26. TESTING = True
  27. SQLALCHEMY_DATABASE_URI = os.environ.get('TEST_DATABASE_URL') or 'sqlite:///' + os.path.join(basedir, 'data-test.sqlite')
  28. class ProductionConfig(Config):
  29. # 数据库
  30. SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL')
  31. # redis缓存
  32. REDIS_URL = os.environ.get('REDIS_URL')
  33. # 定时任务
  34. SCHEDULER_API_ENABLED = True
  35. @classmethod
  36. def init_app(cls, app):
  37. Config.init_app(app)
  38. config = {
  39. 'development': DevelopmentConfig,
  40. 'testing': TestingConfig,
  41. 'production': ProductionConfig,
  42. 'default': DevelopmentConfig
  43. }