I'm having troubles getting a Flask/Python variable passed to Javascript.
Basically, I'm importing from MySQL and have tried rendering the return in three different ways.
(43.8934276, -103.3690243), (47.052060, -91.639868), (45.1118, -95.0396)
that is the output when my dict item has the following ran on it.
new_list = [tuple(d.values()) for d in MySQL_Dict]
output = ', '.join('(' + ', '.join(i) + ')' for i in new_list)
This method is no good, but I added it for detail, it's not in the right format at all.
- I pass the python dict directly to the template which looks like this
({'lat': '43.8934276', 'lng': '-103.3690243'}, {'lat': '47.052060', 'lng': '-91.639868'}, {'lat': '45.1118', 'lng': '-95.0396'})
Then on the the template side I've tried the following JavaScript lines
var other_coords = {{ MySQL_Dict|tojson }};
var other_coords = {{ MySQL_Dict|tojson|safe }};
var still_more = JSON.parse(other_coords);
None of which work, together or separately.
- I've also tried sending the dictionary from the view using
json_out = json.dumps(My_Dict)
which does not work either.
This is all with the goal of getting the lat, lng coords from the MySQL DB to the Google Maps API script. The thing that is so confusing to me is that if I just paste the json.dump results from the view into the Google Maps script it works perfectly (after the quotes are removed) but if I use a variable it will not work for me. Does anyone have suggestions?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…