2

我正在阅读有关烧瓶中配置文件的文档:

遵循同样的想法,我config.py在我的根部引入了 a 。并在那里输入:

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' 我错过了什么?

4

1 回答 1

1

config.from_object

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 配置变量。

于 2013-05-28T17:24:33.090 回答