文章目录
- 方法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)