В Django, есть несколько способов передать переменную из шаблона в JavaScript. Рассмотрим некоторые из них:
1. Используйте встроенный в Django фильтр json_script. Он преобразует Python-объект в строку JSON и обернет ее в тег <script>
, чтобы вы могли легко получить доступ к данным в JavaScript.
В шаблоне Django:
{{ my_variable | json_script:"my-data" }}
В JavaScript:
var myData = JSON.parse(document.getElementById('my-data').textContent);
2. Передавайте переменную через атрибут data-* элемента HTML. Установите значение атрибута с помощью переменной Python, а затем прочитайте его в JavaScript.
В шаблоне Django:
<div id="my-div" data-my-variable="{{ my_variable }}"></div>
В JavaScript:
var myVariable = document.getElementById('my-div').dataset.myVariable;
3. Используйте AJAX-запрос для получения данных из Django-представления и передачи их в JavaScript. В этом случае вы можете выполнить запрос со страницы и получить переменную в ответе сервера.
В шаблоне Django:
<script> $.ajax({ url: "{% url 'my_view' %}", success: function(data) { var myVariable = data.my_variable; // Делайте что-то с переменной в JavaScript } }); </script>
В Django представлении:
from django.http import JsonResponse def my_view(request): my_variable = "Hello, world!" return JsonResponse({'my_variable': my_variable})
Таким образом, существует несколько способов передать переменную из шаблона Django в JavaScript. Выберите то решение, которое наиболее подходит для вашего конкретного случая и требований приложения.