django-автозаполнение-легкий учебник: select2 не является ошибкой функции
у меня были проблемы при использовании даль и попытался построить простой пример.
Я сделал почти то же самое, что и Django автозаполнение света: поле не заполнено а также применил ответ ссылки.
вот шаги, которые я прошел через:
Шаг 1) Когда я добавляю это в заголовок html (так же, как и выше ответ):
<link href="http://dal-yourlabs.rhcloud.com/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
<link href="http://dal-yourlabs.rhcloud.com/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
<script type="text/javascript" src="http://dal-yourlabs.rhcloud.com/static/collected/autocomplete_light/autocomplete.init.js"></script>
<script type="text/javascript" src="http://dal-yourlabs.rhcloud.com/static/collected/autocomplete_light/select2.js"></script>
ошибка консоли инспектора браузера похожа это:
Uncaught ReferenceError: yl is not defined(anonymous function) @ autocomplete.init.js:75select2.js:117
Uncaught ReferenceError: yl is not defined(anonymous function) @ select2.js:117
Шаг 2) поэтому я добавил jquery.js и другие файлы js в библиотеке dal:
<link href="http://dal-yourlabs.rhcloud.com/static/collected/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" />
<link href="http://dal-yourlabs.rhcloud.com/static/collected/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" />
<script type="text/javascript" src="http://dal-yourlabs.rhcloud.com/static/collected/admin/js/vendor/jquery/jquery.js"></script>
<script type="text/javascript" src="http://dal-yourlabs.rhcloud.com/static/collected/admin/js/jquery.init.js"></script>
<script type="text/javascript" src="http://dal-yourlabs.rhcloud.com/static/collected/autocomplete_light/jquery.init.js"></script>
<script type="text/javascript" src="http://dal-yourlabs.rhcloud.com/static/collected/autocomplete_light/autocomplete.init.js"></script>
<script type="text/javascript" src="http://dal-yourlabs.rhcloud.com/static/collected/autocomplete_light/select2.js"></script>
и ошибка изменилась следующим образом:
select2.js:66 Uncaught TypeError: $(...).select2 is not a function(anonymous function) @ select2.js:66dispatch @ jquery.js:4435elemData.handle @ jquery.js:4121trigger @ jquery.js:4350(anonymous function) @ jquery.js:4901each @ jquery.js:374each @ jquery.js:139trigger @ jquery.js:4900initialize @ autocomplete.init.js:45each @ jquery.js:374each @ jquery.js:139(anonymous function) @ autocomplete.init.js:50fire @ jquery.js:3099fireWith @ jquery.js:3211ready @ jquery.js:3417completed @ jquery.js:3433
Шаг 3) и в последний раз я нашел эти два плагина и добавил, И это сработало!
Plugins of [Step 2)] +
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
так вот мои вопросы:
A) должен ли я добавить все плагины выше? Например, существует два select2.js на плагинах [Шаг 3)], и я смущен и задаюсь вопросом, работают ли они на разных пути.(Если я удаляю один из них, он не работает.)
Б) по вопросу Django автозаполнение света: поле не заполнено, не Шаг 2 работу? Почему возникает ошибка?
C) в этом примере кода часть следующего кода, похоже, не работает вообще. Если не с учетной записью администратора, внешний ключ не отображается в текстовом поле, другими словами, ничего не может быть найдено в списке. (из даль учебник, это позволяет с помощью autocompletes за пределами админ')
{% block footer %}
<script type="text/javascript" src="http://dal-yourlabs.rhcloud.com/static/collected/admin/js/vendor/jquery/jquery.js"></script>
{{ form.media }}
{% endblock %}
@ Я также проверил django-автозаполнение-свет не работает-select2 не является функцией и переставлять приложение не работает.
2 ответов
сначала вам нужно включить Jquery и после этого вашу стороннюю библиотеку для поля выбора.
- Select2.минута.js (уменьшенная версия файла JS)
- Select2.минута.css (уменьшенная версия файла CSS)
- затем импорт автозаполнения.js
первый файл библиотеки select2 не существует. выбранная ссылка raise Host не найдена ошибка
select2 библиотека такая же, если вы прокомментируете первый, он не вызвал ошибку. вы можете загрузить библиотеку в свою статическую папку.
также ссылка jquery в последнем примере не существует. вы можете скачать jquery и поместить его в статическую папку.