我是网络开发的新手。事实上,一周前我对此一无所知。现在我有一个由高级同事分配的项目。
数据是使用python获得的,从python到javascript的桥是Flask,在main.py
中。实际上data
更长,并且由其他函数返回,但格式为jsonify()
@app.route("/")
def home():
# JSON
data = '{ "name":"John", "age":30, "city":"New York"}'
response = render_template('home.html', data=data)
我的问题是如何在data
这样的JS文件中访问此JSON handle_data.js
?我想从这些数据到我的home.html
高清图
Django Template Variables and Javascript这个对我不起作用。
答案 0 :(得分:2)
如果你创建data
作为字典而不是python中的字符串会很有用,因为它很容易被jinja2模板引擎解释。 (此外,看起来您的数据已经被jsonified - 您提到的数据由另一个函数返回并由jsonify()格式化。)要访问JS文件中的数据变量,首先需要在视图中包含js文件(即html页面)使用标签。然后,在该脚本标记下面,您需要将数据变量传递给js文件中定义的函数(handle_bar.js)
html文件的示例代码:
<html>
<head>
<body>
Some text
<script src="path/to/handle_bar.js"></script>
<script>
loadData({{data}});
</script>
</body>
</html>
现在你的handle_bar.js应该是这样的:
var myData;
function loadData(data){
myData = data;
console.log(myData);
}
//Use data freely in js file now using myData variable
答案 1 :(得分:0)
您可以将这种替换放入JavaScript中。
<script type="text/javascript">
var a = "{{someDjangoVariable}}";
</script>
var data = '{ "name":"John", "age":30, "city":"New York"}'
var parseData = JSON.parse(data)
console.log(parseData);
如果您关注Django Template Variables and Javascript,您会收到什么错误?
答案 2 :(得分:0)
以下是步骤:
var myData = JSON.parse(data);