Django admin – jQuery命名空间
我正在尝试在我的Django管理站点中使用某些jQuery插件。
Django admin将jQuery命名空间设置为django.jQuery
(以避免冲突)
如果我没有jQuery的默认$
namespace,那么插件将不起作用,是吗?
我必须做些什么
window.$ = django.jQuery
?
如何以及在何处更改整个管理站点的此命名空间?
实际上,大多数插件都需要“jQuery” – 而不是$ – 才能获得,然后在dmidz的答案中提供$ self。
因此,插入
var jQuery = django.jQuery;
在您的外部参考之前。 如果您正在加载一堆第三方jQuery插件,请将上面的行放在插件之前的脚本标记中。
另见我的问题五个月前如何在Django管理员中提供$到第三方外部jQuery插件
我建议你把jQuery放在django.jQuery命名空间中,当使用可能存在冲突的不同模块的cms时,这是一个好主意。 但你把你的插件包装在这样的:
;(function($){ // here $ is only in this scope and so totally inobrusive // plugin code })(django.jQuery);
其他人有类似的问题,并使用deconflictfunction: http : //www.lokkju.com/blog/archives/143
我不确定Django使用的是什么版本,但我认为使用django命名空间的关键是它可以使用自己的jQuery版本进行内部操作,但仍然允许你为自己的工作使用不同的版本。