ウェブサイトのスケルトンを取得するためにFlaskwithBlueprintsを使用していますが、アプリケーションの奥深くで構成クラスを使用する際に問題が発生しています。
これが私がすべてをどのように設定したかを説明するいくつかのダミーコードです:
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']
ウェブサイト/ユーザー/__init__。py:
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()
website / users / models.py:
# How can I reach the config variables here?
def test():
# I want config['DEBUG'] here
パッケージapp.py
の奥深くにロードしたクラスに格納されている構成変数に到達するにはどうすればよいですか?users
from website import app
(models.py内の)循環インポートは受け入れられたソリューションですか?
そうでない場合、私が見逃したいくつかの簡単な解決策はありますか?