Python 是否可以在没有循环导入的情况下导入模块中的烧瓶配置值?

Python 是否可以在没有循环导入的情况下导入模块中的烧瓶配置值?,python,flask,circular-dependency,python-module,Python,Flask,Circular Dependency,Python Module,我正在使用Flask with Blueprints为我的网站获取一个框架,但我在应用程序的深层次使用配置类时遇到了问题 下面是一些虚拟代码,解释了我是如何设置所有内容的: websiteconfig.py class Config(object): pass class ProductionConfig(Config): DEBUG = False class DevelopmentConfig(Config): DEBUG = True 网站/init.py: # Some

我正在使用Flask with Blueprints为我的网站获取一个框架,但我在应用程序的深层次使用配置类时遇到了问题

下面是一些虚拟代码,解释了我是如何设置所有内容的:

websiteconfig.py

class Config(object):
  pass

class ProductionConfig(Config):
  DEBUG = False

class DevelopmentConfig(Config):
  DEBUG = True
网站/init.py

# Some app code and config loading
app = Flask('website')
app.config.from_object('websiteconfig.DevelopmentConfig')

# Import some random blueprint
from website import users
app.register_blueprint(users.api)

# This works:
# print app.config['DEBUG']
from flask import Blueprint
from website.users.models import test
api = Blueprint('users', __name__, url_prefix='/users')

# This works:
# print api.config['DEBUG']

# From models
print test()
# How can I reach the config variables here?
def test():
    # I want config['DEBUG'] here
网站/users/\uuuuuu_uuuu.py

# Some app code and config loading
app = Flask('website')
app.config.from_object('websiteconfig.DevelopmentConfig')

# Import some random blueprint
from website import users
app.register_blueprint(users.api)

# This works:
# print app.config['DEBUG']
from flask import Blueprint
from website.users.models import test
api = Blueprint('users', __name__, url_prefix='/users')

# This works:
# print api.config['DEBUG']

# From models
print test()
# How can I reach the config variables here?
def test():
    # I want config['DEBUG'] here
网站/用户/模型.py

# Some app code and config loading
app = Flask('website')
app.config.from_object('websiteconfig.DevelopmentConfig')

# Import some random blueprint
from website import users
app.register_blueprint(users.api)

# This works:
# print app.config['DEBUG']
from flask import Blueprint
from website.users.models import test
api = Blueprint('users', __name__, url_prefix='/users')

# This works:
# print api.config['DEBUG']

# From models
print test()
# How can I reach the config variables here?
def test():
    # I want config['DEBUG'] here
如何访问
app.py中class I load中存储的
users
包中的配置变量

像网站导入应用程序
(inside models.py)中的
这样的循环导入是公认的解决方案吗


如果没有,我是否错过了一些简单的解决方案?

我相信您可以使用flask当前的应用程序习惯用法来实现这一点


我将接受这个答案。这并不完全是我想要的,但通过一些重构,它实际上完成了任务。我必须在应用程序之外使用app.test\u request\u context(),但必须这样做。非常感谢!=)@moodh你最终得到了什么解决方案?这也是我一直在努力解决的问题。@ceolwulf:我让配置模块在没有flask的情况下也可以使用,所以每次我需要它时,我只需从配置导入get\u config并调用config=get\u config()