Django:将JSON从视图传递到模板
Django: passing JSON from view to template
在views.py
中,时间序列数据存储在字典中,如下所示:
time_series = {"timestamp1": occurrences, "timestamp2": occurrences}
其中每个CCD_ 2以unix时间为单位,而CCD_。
有没有一种方法可以在render
函数的上下文中将时间序列数据作为json对象传递?
为什么这样做:我在前端使用Cal heatmap,它要求数据为json格式。Ajax请求目前可以正常工作,但如果可能的话,理想情况下我希望使用render
方法。
如果前端库需要解析JSON,可以使用json
库将python dict转换为JSON有效字符串。使用escapejs
过滤器
import json
def foo(request):
json_string = json.dumps(<time_series>)
render(request, "foo.html", {'time_series_json_string': json_string})
<script>
var jsonObject = JSON.parse('{{ time_series_json_string | escapejs }}');
</script>
将json.dumps
值传递给模板。它已经是一个有效的JSON字符串,所以您不需要解析它或其他任何东西。只有在模板中呈现时,才将其标记为safe
以防止HTML引用。
# views.py
def foo(request):
time_series_json = json.dumps(time_series)
return render(request,
"template.html",
context={'time_series': time_series_json})
# in the template
<script>
const timeSeries = {{ time_series | safe }};
</script>
使用Django模板内置过滤器json_script
:
在views.py
:中
render(request, "foo.html", {'time_series_data': time_series})
在模板foo.html
:中
{{ time_series_data|json_script:"time-series-data" }}
在您的脚本中:
const timeSeriesData = JSON.parse(document.getElementById('time-series-data').textContent);
您是否尝试过将类似json.dumps(time_series)
的东西传递给render函数?
相关文章:
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 发送json对象或使用express路由呈现视图
- 使用javascript在MVC视图中解析.net JSON字符串
- JSON范围的更改没有反映在angularjs中的视图中
- 自定义筛选器不'我不使用django数据表视图创建的ajax.data.Json
- 如何在视图中显示json返回的linq列表
- 如何使用不同视图的JSON对象更新angular js中的全局JSON字段
- 将JSON REST请求加载到Kendo ui列表视图中的问题
- onclick在视图中显示重复的json结果
- 如何从JSON数组中获取数据并将其放入列表视图中
- 如何将 json 数据发送到代码点火器视图
- 将 JSON 数据从控制器传递到指令并显示在视图中
- 如何在网页上存储记录 (json) 并仅在“视图”上的记录上显示
- 挖空,映射后从视图模型获取 JSON
- 如何将嵌套的JSON / C#数组加载到视图模型中?使用Knockout,jQuery
- 如何在 android 中的可扩展列表视图组和子项中加载 json 数据
- 如何从另一个视图上编写的 JS 代码重定向到控制器,并将 JSON 对象随之传递
- 客户端通过JS请求JSON并填充Rails视图
- 我的视图模型不会根据 JSON 结果淘汰来增加数字
- Rails中的AJAX GET请求,而不呈现视图/json