2012-02-18 3 views
2

Я включил js-файл (например: application.js) внутри моей страницы html, но я не смог использовать тег шаблона django внутри этого js-файла, есть ли способ использовать django тег шаблона непосредственно внутри внешнего js-файла?используя теги шаблона django внутри внешнего JavaScript

ответ

4

Только если вы проанализируете JS как шаблон.

Если вам нужна переменная внутри JS (как STATIC_URL), это нормально использовать

<script>window.staticUrl = "{{ STATIC_URL }}"</script> 

или

<html data-static-url="{{ STATIC_URL }}"> 

в вашей базе шаблона

2

Нет, если вы включите файл application.js как

<script src="application.js"></script> 

Форма загрузчика шаблонов Django просто отобразит это окончательный вывод html-кода. Шаблоны/фильтры шаблона Django отображаются только на страницах шаблонов - они не применяются к внешним источникам.

Вы можете попытаться загрузить файл JavaScript в текст в шаблон. Поэтому вместо ссылки на внешний файл вы в основном «вставляете» код из файла в шаблон.

1

Вы можете обслуживать ваш javascript как динамическую страницу. Создайте новое представление django для его обслуживания (или используйте django.views.simple.direct_to_template) и используйте шаблон с вашим фактическим содержимым javascript.

Смежные вопросы