烧瓶配置类

时间:2018-06-24 16:31:05

标签: python flask import configuration importerror

我正在尝试为我的项目设置配置类,但是我似乎无法弄清楚如何正确导入它们。

项目结构:

-project
  -instance
    -config.py
  -service
    -__init__.py

config.py:

class DefaultConfig(object):
    DEBUG = True

class ProductionConfig(DefaultConfig):
    DEBUG = False

初始化 .py:

from flask import Flask

def create_app():
    app = Flask(__name__, instance_relative_config=True)
    app.config.from_object('config.ProductionConfig')    
    return app

要运行我做过的应用程序:

set FLASK_APP=service
set FLASK_ENV=production
FLASK run

位于project文件夹中

这给了我这个错误:

ImportStringError: import_string() failed for 'config'. Possible reasons are:

- missing __init__.py in a package;
- package or module path not included in sys.path;
- duplicated package or module name taking precedence in sys.path;
- missing module, class, function or variable;

Debugged import:

- 'config' not found.

Original exception:

ModuleNotFoundError: No module named 'config'

我的猜测是路径不正确。 我遵循了this的示例,在该示例中,他们谈到了对配置和实例文件夹使用继承。当我阅读它时,这很有道理,但是我一定设法错过了解释不可或缺的部分。

编辑:现在可以使用。不仅仅是

app.config.from_object('config.DefaultConfig')

我不得不做

app.config.from_object('instance.config.DefaultConfig')

我认为这确实令人困惑,因为像我一样将instance_relative_config设置为True时,应根据文档设置相对于实例目录的配置文件的路径。现在,我相对于项目根目录访问它们...

0 个答案:

没有答案
相关问题