首先声明版权,此篇文章是转载CSDN博主「iteye_20817」的,但我增加了自己的一些想法和注释,讲解地比较清楚,对Python小白而言会更加友好点。
方法一、直接配置
app.config['HOST']='xxx.a.com' # 实质上是通过使用下标的方式访问字典的“值”
print app.config.get('HOST') # flask.config.get('HOST')可获得配置 键 HOST 的对应值,类似于字典对象的 get() 方法
方法二、通过环境变量加载配置
使用环境变量加载。这种方法依然支持silent参数,获得路径后其实
还是使用from_pyfile的方式加载的。
export MyAppConfig=/path/to/settings.cfg
app.config.from_envvar('MyAppConfig')
这样将会加载环境变量指向的配置文件,并加载
方法三、通过对象加载
class Config(object):
DEBUG = False
TESTING = False
DATABASE_URI = 'sqlite://:memory:'
class ProductionConfig(Config):
DATABASE_URI = 'mysql://user@localhost/foo'
class DevelopmentConfig(Config):
DEBUG = True
class TestingConfig(Config):
TESTING = True
from flask import Flask
app = Flask(__name__)
app.config.from_object(ProductionConfig)
print app.config.get('DATABASE_URI') # mysql://user@localhost/foo
或者:
from flask import Flask
import default_config
app = Flask(__name__)
app.config.from_object(default_config) # 这里 defualt_config是一个对象
print app.config.get('HOST')
方法四、通过配置文件
直接传入名字就行了
别的后缀的也可以,不局限于.py的
app.config.from_pyfile('default_config.py',silent=True) # 这里defualt_config.py是文件
# 默认为 silent=False ,即当配置文件不存在的时候抛出异常,
# 使用silent=True的时候只是会返回False,但是不抛出异常
# default_config.py
HOST = 'localhost'
PORT = 5000
DEBUG = True
# 使用配置
print app.config['HOST']
或者
# 也可以在引用之后直接传入对象
import default_config
app.config.from_object(default_config)
–end
原文链接:https://blog.csdn.net/iteye_20817/article/details/82448521