我已经安装了django-admin-tools并在我的项目文件夹中创建了一个dashboard.py。
在这个文件中,我指定了一个媒体类:
#myproject/dashboard.py
class Media:
css = ('',)
js = ('http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/
jquery.min.js',) 在我的设置中我有:
#settings.py
# admin_tools
ADMIN_TOOLS_INDEX_DASHBOARD =
'myproject.dashboard.CustomIndexDashboard'
ADMIN_TOOLS_APP_INDEX_DASHBOARD =
'myproject.dashboard.CustomAppIndexDashboard' 我的URL配置如下:
#urls.py
...
urlpatterns+= patterns('',
url(r'^admin_tools/', include('admin_tools.urls')),
url(r'^admin/', admin.site.urls),
url(r'', include('feincms.urls')),
) 有没有人看到什么明显的错误?我在firebug中没有看到jquery文件被下载。我假设jquery也是admin_tools的一部分,但是这个错误消息似乎表明它不是?
Uncaught TypeError: Property '$' of object [object DOMWindow] is not a
function 任何帮助都是非常感谢的。
发布于 2013-01-28 23:06:43
我认为这可能是因为为了避免冲突,在django admin中对jQuery函数进行了重命名。
如果您可以看到jquery文件被加载到view-source中,并且在控制台中输入$会产生该错误,那么可以尝试django.jQuery
如果要使用$,则需要执行类似$= django.jQuery的操作,然后在脚本的底部将其放回django.jQuery
发布于 2012-03-13 05:59:10
你说得对,admin_tools已经包含了jquery。除非您需要更新的版本,否则最好使用包含的版本。或者即使没有Media类,它也不加载吗?
设置中的问题是从外部主机加载jquery。我也希望这能起作用,但是,如果您查看注入文件的admin_tools中的dashboard.html模板,您会注意到它将{{ media_url }}作为每个js文件的前缀。结果是一个无效的include,如'/media/http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'。这显然是admin_tools的问题,我会提交一份错误报告。
作为一种解决办法,您可以删除Media类并覆盖dashboard.html以包括外部文件。
https://stackoverflow.com/questions/9673628
复制相似问题