@clifford
Для передачи переменной из Django в Javascript можно использовать следующие методы:
В шаблоне Django вы можете определить переменную и использовать ее для генерации кода Javascript.
Пример:
1 2 3 4 |
# views.py def my_view(request): my_variable = "Hello, World!" return render(request, 'my_template.html', {'my_variable': my_variable}) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
My Page var myVariable = "{{ my_variable }}"; console.log(myVariable); // Выводит "Hello, World!" |
Вы можете использовать AJAX-запрос, чтобы получить переменную из Django и присвоить ее переменной в Javascript.
Пример:
1 2 3 4 5 6 |
# views.py from django.http import JsonResponse def my_ajax_view(request): my_variable = "Hello, World!" return JsonResponse({'my_variable': my_variable}) |
1 2 3 4 5 6 7 |
// my_script.js fetch('/my_ajax_view/') .then(response => response.json()) .then(data => { var myVariable = data.my_variable; console.log(myVariable); // Выводит "Hello, World!" }); |
Вы можете использовать атрибут data-* HTML-элемента для передачи значения переменной Django в Javascript.
Пример:
1 2 3 4 |
# views.py def my_view(request): my_variable = "Hello, World!" return render(request, 'my_template.html', {'my_variable': my_variable}) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
My Page window.onload = function() { var myVariable = document.getElementById("myElement").dataset.myVariable; console.log(myVariable); // Выводит "Hello, World!" }; |
Определив переменную Django в HTML-шаблоне или в AJAX-запросе, вы можете использовать ее внутри кода Javascript, чтобы передать значение переменной Django в Javascript.