我正在阅读有关 configuration files 的文档在 flask 中:
按照同样的想法,我在我的根目录下引入了一个config.py
。
并在那里输入:
class Config(object):
DEBUG = False
TESTING = False
DATABASE_URI = 'sqlite://:memory:'
class DevelopmentConfig(Config):
DEBUG = True
use_reloader = False
port = 6000
在我的 server.py 中,我有以下内容:
http_root = os.path.abspath( os.path.join(os.path.dirname(__file__), "../www") )
app = Flask(__name__,static_folder=http_root, static_url_path="/app")
app.config.from_object('config.DevelopmentConfig')
if __name__ == "__main__":
app.run(
port = app.config['port'],
use_reloader=False,
debug = app.config['DEBUG']
)
然而,当我运行服务器时,我得到 KeyError: 'port'
请问我错过了什么?
最佳答案
def from_object(self, obj):
if isinstance(obj, basestring):
obj = import_string(obj)
for key in dir(obj):
if key.isupper():
self[key] = getattr(obj, key)
检查小写名称(还有 __dict__
、__repr__
等)。因此将使用 UPCASE 配置变量。
关于python - Flask:Config.py - 如何将开发与生产分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16797363/