moo*_*odh 16 python python-module circular-dependency flask
我正在使用带有蓝图的Flask来获取我的网站的骨架,我在使用我的应用程序深层配置类时遇到了问题.
这是一些虚拟代码,解释了我如何设置一切:
websiteconfig.py
class Config(object):
pass
class ProductionConfig(Config):
DEBUG = False
class DevelopmentConfig(Config):
DEBUG = True
Run Code Online (Sandbox Code Playgroud)
website/__ 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']
Run Code Online (Sandbox Code Playgroud)
website/users/__ 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()
Run Code Online (Sandbox Code Playgroud)
website/users/models.py:
# How can I reach the config variables here?
def test():
# I want config['DEBUG'] here
Run Code Online (Sandbox Code Playgroud)
如何app.py在users包内深处加载存储在类I中的配置变量?
像from website import app(在models.py中)的循环导入是一个公认的解决方案吗?
如果没有,是否有一些我错过的简单解决方案?
Rac*_*ers 23
我相信你可以使用flask的current_app习语.
http://flask.pocoo.org/docs/api/#flask.current_app
from flask import current_app
def test():
return current_app.config.get('some_config_value')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5614 次 |
| 最近记录: |