tes*_*ins 20 javascript python json jinja2 python-2.7
我正在尝试将一个lat/long点作为JSON对象从Python发送到javascript.我正在使用Flask所以以下是Jinja模板..
蟒蛇:
@app.route('/')
def homepage():
lat_lng = (39.7392,-104.9847)
return render_template("index_v2.html", lat_lng=json.dumps(lat_lng))
Run Code Online (Sandbox Code Playgroud)
使用js的html:
<script type='text/javascript'>
var map;
function initialize() {
// Create the map.
var lat_lng = eval('({{ lat_lng }})')
map = new google.maps.Map(document.getElementById('map-canvas'), {
zoom: 8,
center: new google.maps.LatLng(lat_lng)
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
Run Code Online (Sandbox Code Playgroud)
我正在使用eval,因为变量= {{data}}的标准Jinja表示法不起作用,我发现了一些eval是必要的建议.有什么建议?
Den*_*s L 29
Flask Jinja2文档很好地介绍了这一点."标准过滤器"部分下的第一个示例显示了如何将来自python的JSON对象嵌入到Javascript脚本中:
<script type=text/javascript>
doSomethingWith({{ user.username|tojson|safe }});
</script>
Run Code Online (Sandbox Code Playgroud)
所以在这种情况下:
var lat_lng = {{ lat_lng|tojson|safe }};
Run Code Online (Sandbox Code Playgroud)
tojson调用dumps数据,因此您应该将数据直接传递给模板而不是调用dumps它,否则您需要对数据进行双序列化并最终使用JSON字符串.
| 归档时间: |
|
| 查看次数: |
24261 次 |
| 最近记录: |