django-cms和jQuery

时间:2010-11-15 12:45:49

标签: jquery django django-cms

我有一个django网站,用django-cms非常开心,但现在我想用jQuery包含一些我自己喜欢的javascript。我对django很新,所以我的问题可能源于此。

Django-cms本身使用jQuery,所以如果我将jquery添加到标题中 - 事情会让人感到震惊。如何在不影响django-cms的情况下添加自己的jQuery?

目前我的javascript文件存储在我在项目settings.py中定义的媒体根目录中,如上所述,我在标题中引用它们。

当我读到这篇文章时,这似乎是一个愚蠢的问题,但我仍然感到困惑。

编辑::某些代码

我有一个媒体根定义:

MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media')

在我的基本模板中,标题包含

<script src="/media/javascript/jquery.js" type="text/javascript"></script>
<script src="/media/javascript/application.js" type="text/javascript"></script>

application.js中的Javascript可以正常工作,但是当django-cms的东西出现时它会中断。例如,尝试将插件添加到占位符会导致:

Uncaught TypeError: Property 'type' of object function ( selector, context ) {
        // The jQuery object is actually just the init constructor 'enhanced'
        return new jQuery.fn.init( selector, context );
    } is not a function

我认为这是因为两个jQuerys相互冲突

::另一个编辑:: 我应该补充一点,我正在使用django来托管静态文件,因为它仍在开发中......

2 个答案:

答案 0 :(得分:2)

好吧,链接django-cms的捆绑jQuery确实解决了所有问题......

唉,它使用的是版本1.3.2,但我想我会处理它而不是尝试升级django-cms。

答案 1 :(得分:1)

一个简单的解决方案:将JQuery库保留在标题中,并将所有其他JS放在页面的底部,就在</body>之前。在这种情况下,在管理模式下,您的jQuery lib将被管理员的副本覆盖,然后您的所有代码将被添加回它。