Django: передача JSON из вида в шаблон
на views.py
, У меня есть данные временных рядов, хранящиеся в словаре следующим образом:
time_series = {"timestamp1": occurrences, "timestamp2": occurrences}
каждая timestamp
находится во времени unix и occurrences
- целое число.
есть ли способ передать данные временных рядов как объект json в контексте
3 ответов
Если библиотека интерфейса нуждается в разборе 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>