Uncaught ReferenceError: jQuery не определен Django jQuery CDN

Я создаю Django webapp и хочу использовать JS расширение, которое создает еженедельное расписание link. Я поместил это расширение в статический каталог моего проекта и импортировал jQuery и расширение в файл base.html следующим образом:

        <!-- jquery -->
        <script src="https://code.jquery.com/jquery-3.3.1.min.js" defer></script>

        <!-- jQuery schedule display (includes css and js) -->
        <link rel="stylesheet" href="{% static 'Dynamic-Weekly-Scheduler-jQuery-Schedule/dist/jquery.schedule.css' %}">
        <script src="{% static 'Dynamic-Weekly-Scheduler-jQuery-Schedule/dist/jquery.schedule.js' %}"></script>

Однако, когда я пытаюсь передать данные в этот плагин следующим образом:

    <script type="text/javascript">
    console.log({{schedule_data}})
    $("schedule").jqs({{schedule_data}})
    </script>

У меня возникает ошибка в jquery.schedule.js:

Uncaught ReferenceError: jQuery is not defined

ссылаясь на конец этого файла, который является:

$.fn[pluginName] = function (options) {
    var ret = false;
    var args = Array.prototype.slice.call(arguments);
    var loop = this.each(function () {
      if (!$.data(this, 'plugin_' + pluginName)) {
        $.data(this, 'plugin_' + pluginName, new Plugin(this, options));
      } else if ($.isFunction(Plugin.prototype[options])) {
        ret = $.data(this, 'plugin_' + pluginName)[options](args);
      }
    });

    if (ret) {
      return ret;
    }

    return loop;
  };
})(jQuery, window, document);

Что я делаю неправильно? Не следует ли мне использовать jQuery CDN? Обратите внимание, что jQuery не определен нигде в документе jquery.schedule.js. Спасибо

Возможно, вам придется следить за использованием defer при загрузке CDN. defer говорит браузеру подождать, пока загрузится все остальное, поэтому в вашем коде тег <script>, который у вас внизу, начнет выполняться первым. Вам следует удалить тег defer в jQuery CDN и вместо него defer при загрузке вашего <script>. Это обеспечит полную загрузку библиотеки jQuery перед запуском вашего сценария.

Вернуться на верх