@asmrnv777

Как правильно организовать использование JS в шаблонах Django?

Есть шаблон для джанги, в котором достаточно активно используется JS (шаблон на 300 строк, 200 из них — JS).
Как я понимаю, по-хорошему надо бы вынести JS в отдельный файл, но некоторые переменные в JS коде инициализируются шаблонным движком джанго, например:
var currentTopicId = {{ topics.first.pk }};
Кроме того, есть объекты DOM, получаемые по ID:
var topicTitleElement = $('#topic-title');

Если я вынесу код в JS-файл, но оставлю инициализацию currentTopicId в шаблоне, то PyCharm будет ругаться на неизвестную переменную (в рантайме ошибки быть не должно, но работать некомфортно). Кроме того, PyCharm не будет знать ID элементов DOM, которые я ищу (тот же #topic-title). В общем, работать будет не очень удобно.
Может, есть какие-то более красивые способы сделать это?
  • Вопрос задан
  • 458 просмотров
Решения вопроса 1
sim3x
@sim3x
<body data-attrib="{{ some_var }}">

и $(document).ready(...)достаточно для решения проблем
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ns5d
нечего сказать
Как вариант:
html:
<div id="p1" style="display:none">value1</div>
 <div id="p2" style="display:none">value2</div>
 <div id="p3" style="display:none">value3</div>

js:
var p1 = $("#p1").text();
var p2 =  $("#p2").text();
var p3 =  $("#p3").text();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы