Flask应用程序未在开发配置上运行

时间:2018-10-27 02:48:21

标签: python flask configuration

我正在运行flask应用程序,该应用程序正在运行,但未遵循我设置的配置。这是配置文件

import os

class Config(object):
    "parent configuration class"
    DEBUG= True



class DevelopmentConfig(Config):
    "Configurations for Development"
    DEBUG = True
    connectionVariables="dbname='store-manager' user='postgres' password="1235" host='localhost' port='5432'"
    os.environ['ENVIRONMENT']='development'

class TestingConfig(Config):
    """Configurations for Testing,"""
    TESTING = True
    DEBUG = True
    connectionVariables="dbname='store-manager-test' user='postgres' password="1235" host='localhost' port='5432'"
    os.environ['ENVIRONMENT']='testing'


app_config = {
    'development': DevelopmentConfig,
    'testing': TestingConfig
}

每当我运行该应用程序时,即使我指定了开发,它也会以测试模式运行,但是,如果删除测试配置,它将在开发环境中运行。 这就是创建应用程序的方式

from flask import Flask
from flask_restful import Api

from instance.config import app_config
from connection import DbBase



def create_app(config_name):
    app = Flask(__name__)

    app.config.from_object(app_config[config_name])


    return app

这是运行方式。

import os
from app import create_app

config_name = 'development'

app = create_app(config_name)
# method to run app.py
if __name__ == '__main__':


    app.run()

1 个答案:

答案 0 :(得分:1)

根据实际运行的方式和平台,您需要确保指定config.file的位置。

export YOURAPPLICATION_SETTINGS=/path/to/settings.cfg

或Windows

set YOURAPPLICATION_SETTINGS=\path\to\settings.cfg

在上面的描述中我没有看到它,所以这可能是问题所在。

Flask Doc on using a config File