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