config.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import os
  2. #import sys
  3. #reload(sys)
  4. #sys.setdefaultencoding('utf-8')
  5. basedir = os.path.abspath(os.path.dirname(__file__))
  6. class Config:
  7. SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string'
  8. SQLALCHEMY_COMMIT_ON_TEARDOWN = True
  9. FLASKY_MAIL_SUBJECT_PREFIX = '[Flasky]'
  10. FLASKY_MAIL_SENDER = '119161229@qq.com'
  11. FLASKY_ADMIN = os.environ.get('FLASKY_ADMIN')
  12. SQLALCHEMY_TRACK_MODIFICATIONS = True
  13. @staticmethod
  14. def init_app(app):
  15. pass
  16. class DevelopmentConfig(Config):
  17. DEBUG = True
  18. MAIL_SERVER = 'smtp.qq.com'
  19. MAIL_PORT = 587
  20. MAIL_USE_TLS = True
  21. MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
  22. MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')
  23. SQLALCHEMY_DATABASE_URI = os.environ.get('DEV_DATABASE_URI') or \
  24. 'mysql+mysqlconnector://root:@127.0.0.1/authbase?charset=utf8'
  25. class TestingConfig(Config):
  26. TESTING = False
  27. SQLALCHEMY_DATABASE_URI = os.environ.get('TEST_DATABASE_URI') or \
  28. 'sqlite:///' + os.path.join(basedir, 'data-test.sqlite')
  29. class ProductionConfig(Config):
  30. SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URI') or \
  31. 'sqlite:///' + os.path.join(basedir, 'data.sqlite')
  32. config = {
  33. 'development': DevelopmentConfig,
  34. 'testing': TestingConfig,
  35. 'production': ProductionConfig,
  36. 'default': DevelopmentConfig
  37. }