Как передать словарь из просмотров в шаблон Javascript - PullRequest
0 голосов
/ 10 мая 2019

Попытка отправить вычисленные значения для каждого отмеченного элемента в виде словаря из представлений в шаблон results.html, связанный с некоторыми js. Как я могу отправить этот словарь в шаблон HTML, а затем в JS?

Я думаю, что сложность может заключаться в том, что событие onclick происходит в currency.html и функции, вызываемой в script_currency.js, которая затем переходит к представлениям для вычисления, которое возвращается как results2 {} в другой шаблон: results.html. но для рендеринга это все еще в функции скрипта script_currency.js. Однако результаты {} также не попадают в файл results.html.

so curency.html -> script_currency.js -> views.py -> results.htmls -> script_currency.js -> таблица результатов.html.

Я поместил словарь в контекст, а затем вне контекста для рендеринга в views.py. Я попытался создать новый шаблон для отображения, так как я отправлял словарь обратно в тот же шаблон без обновления. Все еще нет радости.

views.py - (я получаю результаты2 {} обратно из функции calc ())

def substancesChecked(request):
    request.POST.get('checkbox')
    curArr = json.loads(request.POST['checkbox'])
    user_results = countryCur.objects.filter(user=request.session['user'])
    username = request.session['username']
    results2 = calc(curArr,user_results, username)
    print(results2)
    context = {"username": username, "results2": results2}
    return render(request, 'main_app/results.html', context=context)

results.html - новый шаблон

<script src="{% static "main_app/js/script_currency.js" %}"></script>

   <title>Currency Analysis</title>
   <script type="text/javascript">
      var results2 = "{{ results2 }}";
      console.log(results2);
   </script>

script_currency.js

console.log(results2);

Я ожидаю: {GBR: "25", USD: "35,58"}

вместо этого я получаю переменную results2, не определенную, и ошибка находится в currency_script.js

Нет ошибки в results.html, потому что, хотя функция views.py возвращает его в results.html, я не уверен, что он читается, и поэтому, возможно, переменная не передается из results.html обратно в js сценарий

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...