我使用带有大量插件(“应用程序”)的 django (1.8.16)。一些是:
- django-ckeditor==4.5.1
- django-image-cropping==1.0.3
- django.contrib.admin
- django-jquery==3.1.0
我想在管理界面使用django autocomplete-light(简称dal)(3.2.1,当前版本)。现在我有以下 jquery 斗争。 dal 使用 jquery 但不会自行加载。它留给开发人员。 dal 附带一个脚本“select2.js”,在 $.select2 下注册一个函数。
现在是问题。当像 ckeditor 或 image-cropping 这样的插件加载 jquery 时,函数 $.select2 不再可用。
我创建了一个 bug report over at dal但是一位开发人员说我有责任首先加载 jquery。
那么,如何加载 jquery,在 dal 需要它之前加载它并且只加载一次?
请您参考如下方法:
根据 django-ckeditor docs :
If you have jQuery loaded from a different source just don't set [CKEDITOR_JQUERY_URL] and django-ckeditor will not try to load its own jQuery.
您应该确保将所有可以加载 jQuery 的应用程序设置为不加载它,与上面类似。然后,使用 django-jquery 加载 jquery,确保 jQuery 在控制台中可用(即尝试键入 console.log($) 以查看它是否可用)。确保将 jQuery 模板标签放在其他库加载的任何其他模板标签之上。
这应该可以解决您遇到的任何冲突。
