Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从AngularJS访问此Flask global?_Javascript_Python_Angularjs_Flask - Fatal编程技术网

Javascript 如何从AngularJS访问此Flask global?

Javascript 如何从AngularJS访问此Flask global?,javascript,python,angularjs,flask,Javascript,Python,Angularjs,Flask,我正在使用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.setde

我正在使用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')
这非常有效,允许我在jinja2模板中使用{{g.cluster_name}}

问题是,我正在移动到前端的AngularJS应用程序,因此我不再使用jinja2 templates/render_template()

那么,如何让AngularJS模板可以使用这个全局变量,而不从每个视图返回它的值呢


谢谢。

您的视图现在将发送JSON数据,而不是呈现的HTML模板,以便与Angular进行通信。因此,让这些数据在JSON响应中可用

return jsonify(cluster_name=g.cluster_name)
更有可能的是,当你第一次启动Angular应用程序时,你应该只发送默认的和可用的名称,并让它处理其末端的值

发送
g.manager
是不可能的,因为它是一个行为(可能)复杂的Python对象,而不是JSON可序列化的对象

return jsonify(cluster_name=g.cluster_name)