django-autocomplete-light выдает ошибки javascript

Я использую django-autocomplete-light для отображения некоторых параметров автозаполнения.

У меня на сайте есть место, где работает безотказно, а есть еще место, где не работает, точнее работает частично.

Параметры автозаполнения отображаются просто отлично, но когда пользователь нажимает на один из них, он выдает:

Uncaught TypeError: объект [object Object] не имеет метода «yourlabsWidget»

Каковы различия?

На той странице, что работает, полностью, я рендерю всю форму. В этом виджете я использую только поля в идиоме {{ form.field }}.

ИЗМЕНИТЬ

Файлы javascript из django-autocomplete-light отлично загружаются на обеих страницах.

Кто-нибудь знает?

ИЗМЕНИТЬ 2

<head>
    <script type="text/javascript" src="/static/js/jquery/jquery-1.8.3.min.js"></script>
    <script type="text/javascript" src="/static/js/jquery/jquery-ui-1.9.2.custom.min.js"></script>
    <script type="text/javascript" src="/static/js/bootstrap/bootstrap.min.js"></script>
    <link rel="stylesheet" type="text/css" href="/static/css/jquery/jquery-ui-1.9.2.custom.min.css">
    <link rel="stylesheet" type="text/css" href="/static/css/bootstrap/bootstrap.css">
    <link rel="stylesheet" type="text/css" href="/static/css/main.css">

<script type="text/javascript" src="/static/autocomplete_light/autocomplete.js"></script>
<script type="text/javascript" src="/static/autocomplete_light/widget.js"></script>
<script type="text/javascript" src="/static/autocomplete_light/addanother.js"></script>
<script type="text/javascript" src="/static/autocomplete_light/text_widget.js"></script>
<script type="text/javascript" src="/static/autocomplete_light/remote.js"></script>
<link rel="stylesheet" type="text/css" href="/static/autocomplete_light/style.css">
    <script data-main="/static/js/rotas.js/main.js" src="/static/js/require/require.js"></script>    
<script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="main" src="/static/js/rotas.js/main.js"></script>


person George Silva    schedule 29.01.2013    source источник
comment
Вероятно, это связано с двойной загрузкой jQuery. Не могли бы вы опубликовать по порядку все <script> теги сгенерированной страницы? Спасибо.   -  person jpic    schedule 29.01.2013
comment
@jpic это происходит из-за того, что я использую require.js. Позвольте мне попробовать это ...   -  person George Silva    schedule 29.01.2013
comment
Привет @jpic. Нет, ошибка не исчезла.   -  person George Silva    schedule 06.03.2013
comment
Вы исправили двойную загрузку jQuery на своей странице?   -  person jpic    schedule 07.03.2013
comment
Возможна любая обратная связь? TYIA (FTR, я автор django-autocomplete-light, и мне не все равно)   -  person jpic    schedule 10.03.2013
comment
@jpic: привет jpic, спасибо. Я посмотрю, смогу ли я проверить все проблемы, которые вы упомянули.   -  person George Silva    schedule 15.03.2013


Ответы (1)


Если расширение yourlabsAutocomplete правильно добавлено в экземпляр jquery, а затем становится неопределенным: другой jquery был загружен поверх предыдущего.

Если вы используете require.js, то либо:

  • не загружайте jquery вручную, загружайте jquery и скрипты автозаполнения через require.js,
  • либо не загружайте jquery через require.js

Если вы сомневаетесь, извлеките теги <script> из сгенерированной страницы и используйте инспектор firebug или webkit, чтобы проверить, загружен ли jquery дважды.

django-autocomplete-light не собирается связываться с вашими стратегиями jquery/javascript. Таким образом, у него нет причин мешать вам — если это мешает, значит, что-то не так в вашей стратегии загрузки javascript.

person jpic    schedule 30.01.2013
comment
Попробую загрузить автозаполнение через require. Я новичок в требованиях и js в целом, поэтому, возможно, я допустил ошибки. Я рад, что ты заботишься. - person George Silva; 15.03.2013