我正在使用Django为项目创建一个基于Web的应用程序,我遇到了将数组从Django视图返回到模板的问题.
该数组将由JavaScript(JQuery)脚本用于在页面中显示的图像上绘制框.因此,该数组将具有要绘制的框的坐标等.
这是Django视图中用于获取所需数据并将其序列化为JSON的代码:
def annotate(request, ...):
...
oldAnnotations = lastFrame.videoannotation_set.filter(ParentVideoLabel=label)
tags = serializers.serialize("json", oldAnnotations)
...
return render_to_response('vannotate.html', {'tags': tags, ...})
Run Code Online (Sandbox Code Playgroud)
作为一种调试方式,{{ tags }}在模板的HTML部分中使用将其作为输出(对于长行而言):
[{"pk": 491, "model": "va.videoannotation", "fields": {"ParentVideoFile": 4, "ParentVideoFrame": 201, "ParentVideoLabel": 4, "top": 220, "height": 30, "width": 30, "ParentVideoSequence": 16, "left": 242}}, {"pk": 492, "model": "va.videoannotation", "fields": {"ParentVideoFile": 4, "ParentVideoFrame": 201, "ParentVideoLabel": 4, "top": 218, "height": 30, "width": 30, "ParentVideoSequence": 16, "left": 307}}]
Run Code Online (Sandbox Code Playgroud)
我假设它是JSON数组的正确格式.
稍后在模板中,我尝试实际使用tags模板的JavaScript部分中的变量,如下所示:
{% if tags %}
var tagbs = {{ tags|safe …Run Code Online (Sandbox Code Playgroud)