我正在学习flask和python,无法将我的头缠在需要构造典型的flask应用程序的方式上。

我需要从蓝图内部访问应用程序配置。像这样

#blueprint.py
from flask import Blueprint

sample_blueprint = Blueprint("sample", __name__)

# defining a route for this blueprint
@sample_blueprint.route("/")
def index():
     # !this is the problematic line
     # need to access some config from the app
     x = app.config["SOMETHING"]
     # how to access app inside blueprint?

如果以蓝图导入应用程序是解决方案,这不会导致循环导入吗?即在应用程序中导入蓝图,在蓝图中导入应用程序?

最佳答案

从有关appcontext的文档中:



应用于您的示例:

from flask import Blueprint, current_app

sample = Blueprint('sample', __name__)

@sample.route('/')
def index():
    x = current_app.config['SOMETHING']

作为引用,这是我在评论中提到的一个小gist放在一起。

关于design-patterns - Flask:如何在蓝图中使用应用程序上下文?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39769666/

10-12 20:35