【发布时间】:2015-12-28 23:32:33
【问题描述】:
将变量从 Flask 模板传递到 Javascript 文件的最佳方法是什么?这是我的代码
我的 webapp 中有一个简单的视图:
@webapp.route('/bars')
def plot_d3_bars():
return render_template("bars.html", calendarMap = calendarMap)
我有一个模板化的 HTML 文件,如下所示:
{% extends "base.html" %}
{% block title %} Bar View {% endblock %}
{% block content %}
{% with calendarMap=calendarMap %}
{% include "buttons.html" %}
{% endwith %}
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script src="/static/css/d3.tip.v0.6.3.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<!-- Custom codes for d3 plotting -->
<link href="/static/css/bars.css" rel="stylesheet">
<script> var calendarMap = {{ calendarMap|tojson }}; </script>
<script src="/static/bars.js"></script>
{% endblock %}
以前的答案告诉我,我可以将变量 jsonify 为 JSON 对象,然后就可以使用它了。但是,我想在 bar.js 中使用 calendarMap 吗?但我遇到了一些范围界定问题(即 bar.js 无法识别此 calendarMap),我应该怎么做?
【问题讨论】:
-
您是否尝试过在 App.calendarMap 或 window.calendarMap 等命名空间中引用它
标签: javascript python flask jinja2