我在获取Flask/Python传递到JavaScript的变量方面遇到了麻烦。
基本上,我从MySQL导入并尝试以三种不同的方式呈现返回结果。
(43.8934276, -103.3690243), (47.052060, -91.639868), (45.1118, -95.0396)
当应用以下代码后,这是我的字典项的输出结果。
new_list = [tuple(d.values()) for d in MySQL_Dict]
output = ', '.join('(' + ', '.join(i) + ')' for i in new_list)
这种方法不好,但我添加了它以供详细参考,它完全不符合正确格式。
- 我直接将Python字典传递到模板中,其格式如下:
({'lat': '43.8934276', 'lng': '-103.3690243'}, {'lat': '47.052060', 'lng': '-91.639868'}, {'lat': '45.1118', 'lng': '-95.0396'})
然后在模板侧,我尝试了以下JavaScript行:
var other_coords = {{ MySQL_Dict|tojson }};
var other_coords = {{ MySQL_Dict|tojson|safe }};
var still_more = JSON.parse(other_coords);
无论是一起使用还是分开使用,都没能奏效。
- 我还尝试过使用
json_out = json.dumps(My_Dict)
从视图中发送字典,但也没有成功。
所有这些努力的目的,是为了从MySQL数据库获取lat、lng坐标到Google Maps API脚本。令我困惑的是,如果我将视图中的json.dump结果直接粘贴到Google Maps脚本中,它可以完美地工作(在引号被移除后),但如果我使用一个变量则会出现问题。有人有建议吗?