我有一个 JSON 文件,我想读入该文件并使用 javascript 执行一些操作。这一切都在 Django 1.8 中。最终目标是使用 D3 进行一些奇特的可视化,而 Django 和 Python 为后端的其余部分提供支持。
我在将数据从 .json 文件获取到 JavaScript 函数时遇到问题。 json 文件是“uk.json”。
这是我的观点.py:
# Create your views here.
def index(request):
data = get_data()
# return jsonify(data)
return render(request, 'pages/index.html')#, {'data': json.dumps(data)})
# api view function to get the data
def getuk(request):
json_data = open('/static/js/uk.json')
data1 = json.load(json_data) # deserializes it
data2 = json.dumps(json_data) # json formatted string
json_data.close()
return JsonResponse(data2)
这是我对应的urls.py:
url(r'^$', views.index, name='index'),
url(r'^api/getuk', views.getuk, name='getuk'),
index.html 我试图在其中获得所有这些奇特的显示:
{% load staticfiles %}
<!DOCTYPE html>
<meta charset="utf-8">
<style>
/* CSS goes here. */
</style>
<body>
<script src="//d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script src="//d3js.org/topojson.v1.min.js"></script>
<script src="{% static 'js/graph.js' %}"></script>
</body>
最后是我的 graph.js,我想在传递的 json 数据上使用 D3。
d3.json("api/getuk", function(error, uk){
if(error) return console.error(error);
console.log(uk);
})
尝试将数据放入 graph.js 中以便我可以使用它。我知道如何在没有框架的情况下正常执行此操作,但我正在尝试让这一切一起工作。
最佳答案
原因是我需要在 html 中使用 django 模板标签创建一个临时 var
并关闭自动转义。
var temp = {{ data | safe }};
然后变量 temp
就可以在我的 .js 文件中使用了
关于javascript - 在 Django 框架中获取 js 文件中的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34980176/