我正在学习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/