У меня есть эта проблема, надеюсь, у вас есть идея, как ее решить. В шаблонах Django, которые не являются «дочерним» шаблоном базового шаблона, я хотел бы использовать модули javascript, которые находятся в базовом шаблоне, то есть в JQuery. Есть ли способ достичь этого без нагрузки снова все библиотеки javascript, которые мне нужны?Javascript модули отсутствуют шаблоны, не унаследованные от базы Django tempate
Допустит base.html
{% block js %}
<script src="some/path/to/jquery.js"></script>
{% endblock $}
some_component_base_template.html
// Not inherited from base.html
{% block somejsblock %}
<script>
$(document).ready(function(
//some code I need
))
</script>
{% endblock %}
Этот блок HTML может быть вставлен в любом месте в шаблоне с помощью шлицев пользователя через механизмы, именно поэтому он Безразлично» t наследует from base.html, если я создаю другой заголовок, каждый раз, когда этот блок html загружается, javascripts также будут загружены.
Это то, чего я хочу избежать, потому что это часть html, которая будет повторяться по всему сайту, и в этом случае я буду использовать google api, всякий раз, когда он загружается более одного раза, я получить ошибку или предупреждение javascript. Не доступны ли модули javascript по всему миру? –
В этом случае лучшим ответом является Даниэль Роземан. Вы должны положить в свою базу только все материалы глобалов. Если вам нужны разные вещи, которые будут повторяться в приложении, лучшее, что вы можете сделать, это создать «промежуточного» родителя, который простирается от базы и добавляет тезисы новых частей htmls. – acostela
«это часть html, которая будет повторяться по всему сайту»: тогда, очевидно, она должна быть частью базового шаблона, как сказал Даниэль Роземан, - вот что такое шаблон base.html для: частей, которые вы хотите использовать _each и every_ template. –