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版本进行内部操作,但仍然允许你为自己的工作使用不同的版本。