2015-12-11 4 views
0

Я хотел бы знать, как правильно прикрепить мультимедийные файлы (css/js) для разных подстраниц.Django - разные носители для разных шаблонов

У меня есть дилемма: Использование {% block %}<script type="text/javascript" src="{% static 'js/script.js' %}"></script>{% endblock %} в файлах шаблонов. Или зарегистрируйте функцию, например attach_media(type, url), и используйте ее в views.py.

Существует еще класс «Медиа» для форм, где я могу:

ассоциировать различные файлы - как таблицы стилей и скрипты - с формами и виджетами, которые требуют этих активов

Но на данный момент я не уверен во всех представлениях, я буду использовать форму.

Какое решение лучше?

ответ

1

Первое решение (для добавления статических файлов в шаблоны) является наиболее часто используемым.

1

Вам нужно различать то, что вы пытаетесь сделать. Если вы пытаетесь ссылаться на статические ресурсы в шаблоне, вам нужно использовать тег шаблона static.

media класс формы находится там, чтобы указать файлы, которые требуются для того, чтобы в форме экземпляров работать, как вы ожидаете.

+0

Я буду использовать пример: Я хотел бы включить ** client.js ** только на ** client.html **, поэтому он не загружает никаких других подстраниц. Я бы сделал это так легко и удобно. Что вы думаете о функции register 'attach_media' и укажите носитель в views.py? – user3041764

+0

@ user3041764 - похоже, что это не имеет никакого отношения к форме, поэтому вы даже не сможете использовать медиа-класс – Sayse

+0

@ user3041764. Более того, ваш взгляд по большей части не должен заботиться о том, как его отображают – Sayse