Как я могу передать мои переменные контекста в javascript в Django? - PullRequest
1 голос
/ 06 апреля 2020

views.py

context = {'select_company': select_company,}
return render(request, 'invest/chart.html', context)

html

<option value="{{o}}">{{select_company}}</option>----------{{select_company}} can show its value
<script>
company = {{select_company|safe}}; ---------------js tell me undefined
</script>

django 2.2 python 3.7 как решить странную проблему

Ответы [ 2 ]

2 голосов
/ 06 апреля 2020

Может быть атрибуты данных:

your_template. html

<div id="some-element" data-company="{{ selected_company }}"></div>

your_ javascript. js

const element = document.querySelector('#some-element');

console.log(element.dataset.company);
0 голосов
/ 07 апреля 2020

Если вы хотите назначить переменную шаблона для строки в javascript, вам необходимо добавить кавычки. {{ select_company|safe }} просто развернет строку в вашем шаблоне, так что вы получите:

var company = some string;

Поскольку some не определен как переменная, вы получите "неопределенную" ошибку.

Всегда делайте это:

var company = "{{ select_company|safe }}";

, который будет отображаться как

var company = "some company";

Совет : всегда обращайте внимание на визуализированный исходный код в инструментах разработчика вашего браузера, когда вы получаете ошибки на своих HTML страницах, вы гораздо легче обнаружите подобные ошибки.

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