文章目錄
- 方法1. 使用配置文件
- 方法2. 使用對象配置參數
- 方法3. 直接操作config的字典對象
- 項目實例
方法1. 使用配置文件
首先將配置參數寫在文件中,例如:config.cfg
然后導入:
app = Flask("__name__")
app.config.from_pyfile("config.cfg")
方法2. 使用對象配置參數
首先塑造一個參數類,繼承object
class Config(object):DEBUG = TrueITCAST = "python"
然后導入:
app.config.from_object(Config)
方法3. 直接操作config的字典對象
app.config["DEBUG"] = True
項目實例
config.py文件:
# coding:utf-8import redisclass Config(object):"""配置信息"""SECRET_KEY = "XHSOI*Y9dfs9cshd9"# 數據庫SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/ihome_python04"SQLALCHEMY_TRACK_MODIFICATIONS = True# redisREDIS_HOST = "127.0.0.1"REDIS_PORT = 6379# flask-session配置SESSION_TYPE = "redis"SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT)SESSION_USE_SIGNER = True # 對cookie中session_id進行隱藏處理PERMANENT_SESSION_LIFETIME = 86400 # session數據的有效期,單位秒class DevelopmentConfig(Config):"""開發模式的配置信息"""DEBUG = Trueclass ProductionConfig(Config):"""生產環境配置信息"""passconfig_map = {"develop": DevelopmentConfig,"product": ProductionConfig
}
引入方式:
使用工廠模式,創造屬性類
config_class(DevelopmentConfig或者ProductionConfig)屬性類繼承父類Config
# 工廠模式
def create_app(config_name):"""創建flask的應用對象:param config_name: str 配置模式的模式的名字 ("develop", "product"):return:"""app = Flask(__name__)# 根據配置模式的名字獲取配置參數的類config_class = config_map.get(config_name)app.config.from_object(config_class)