【发布时间】:2014-08-12 01:36:33
【问题描述】:
我正在使用连接到各种集群的 Flask 构建一个内部 Web 应用程序。 95% 的 URL 以 /cluster/cluster_name 开头,因此我在蓝图中使用以下代码:
cluster = Blueprint('cluster', __name__, url_prefix='/cluster/<cluster_name>')
@cluster.url_defaults
def add_cluster_name(endpoint, values):
values.setdefault('cluster_name', g.cluster_name)
@cluster.url_value_preprocessor
def pull_cluster_name(endpoint, values):
g.cluster_name = values.pop('cluster_name')
这允许我在每次请求之前使用以下代码创建与集群的连接:
@app.before_request
def before_request():
if not hasattr(g, 'manager'):
g.manager = ClusterInterface(g.cluster_name)
这很好用,让我可以在 jinja2 模板中使用 {{ g.cluster_name }}。
问题是我正在迁移到前端的 AngularJS 应用程序,所以我将不再使用 jinja2 模板/render_template()。
那么我怎样才能让这个全局变量对 AngularJS 模板可用而不从每个 Flask 视图返回它的值呢?
谢谢。
【问题讨论】:
标签: javascript python angularjs flask