javascript - 在 Django 框架中获取 js 文件中的 JSON 数据

标签 javascript python json django d3.js

我有一个 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/

相关文章:

python - 缺少预期输出

python - 在Python中解析JSON

java - 将 json 放在 String 变量中

javascript - 如何在vue-panzoom中实现zoomIn和zoomout

javascript - 我怎样才能阻止不和谐的机器人回复自己或其他机器人? (discord.js)

javascript - Jquery 链接选择任何线索我做错了什么?

java - 将 JSON 名称映射到 Java 类字段/方法(Jackson Parser)

javascript - 无法清除临时存储

python - Python-根据时间信息(即时,间隔)计算项目之间的相似性

python - 列表索引类型错误