1

我用一大堆插件(「應用程序」)使用django(1.8.16)。有些是:在Django的:與多個插件加載jQuery的問題 - 或者:如何加載jQuery只有一次?

  • Django的CKEditor的== 4.5.1
  • Django的圖像裁剪== 1.0.3
  • django.contrib.admin
  • Django的jQuery的== 3.1.0

我想在管理界面中使用django autocomplete-light(簡稱dal)(3.2.1,當前版本)。現在我有下面的jQuery的鬥爭。達爾使用jquery,但不加載它本身。它留給開​​發者。 dal附帶了一個在$ .select2下注冊函數的腳本「select2.js」。

現在的問題。當像ckeditor或image-cropping這樣的插件加載jquery時,函數$ .select2不再可用。

我已經創建了一個bug report over at dal,但一位開發人員說,這是我首先加載jquery的責任。

那麼,如何加載jquery,在dal需要它並加載它之前加載它?

回答

2

django-ckeditor docs

如果您的jQuery從不同的源加載只是不設置[CKEDITOR_JQUERY_URL]和Django的CKEditor的不會嘗試加載它自己的jQuery。

你應該確保你正在設置可以負荷的jQuery不加載它,類似於上面所有的應用程序。然後,使用django-jquery加載jquery,確保jQuery在控制檯中可用(即,嘗試輸入console.log($)以查看它是否可用)。確保將jQuery模板標籤放在其他庫加載的其他模板標籤的上方。

這應該可以解決您遇到的任何衝突。

+0

我想你是對的。我不知道如何爲管理員插件執行此操作。我會在星期一做一些研究。 – mogoh

+0

@mogoh'django.contrib.admin'不加載jQuery,所以你在那裏明確:)。 – YPCrumble

+0

@YPCruble我認爲這是最新版本,但不適用於1.8。爲什麼要jquery是[這裏](https://github.com/django/django/blob/stable/1.8.x/django/contrib/admin/static/admin/js/jquery.js)? – mogoh