ошибка при генерации объекта json из словаря python с использованием django_template json_script - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь получить объект "json" из словаря Python, используя шаблон djnago "json_script", который выдает "ошибка синтаксиса шаблона"

//html code
{{ value|json_script:"hello-data" }}

<script>
var Value=JSON.parse(document.getElementById("hello-data").textContent);
document.write(Value);
</script>


//views.py
from django.shortcuts import render
from django.http import HttpResponse
import random as ran
# Create your views here.

def indees(request):
vals={"123":"abc","Key":"value","hello":"user"}
return render(request,"verbat.html",context={"value":vals})

1 Ответ

0 голосов
/ 05 мая 2019

Контекст - это словарь контекста шаблона, вы не можете обращаться к нему как к одному диктову, вы можете получить доступ только к его членам (ключам). Читайте здесь или здесь , чтобы узнать больше.

Например, в вашем примере вы можете получить доступ к 'bool', 'list_' и 'msg', но, вероятно, вы хотите получить доступ к словарю с этими тремя ключами.

Так что вам нужно поместить свои данные во внутренний ключ и использовать его. Что-то вроде:

//views.py
def indes(request):
  list_of_vals=[ran.randint(12,34),ran.randint(44,55)]
  data={"bool":"True",
        "list_":list_of_vals,
         "msg":"hello"}
  return render(request,"base.html",context={'data':data})

А внутри index.html иметь:

{{ data|json_script:"hello-data" }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...