6

我有一个使用 django-cms 运行得非常愉快的 django 站点,但现在我想使用 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

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

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

4

2 回答 2

2

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

唉,它使用 1.3.2 版本,但我想我会处理这个问题,而不是现在尝试升级 django-cms。

于 2010-11-16T10:57:25.357 回答
1

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

于 2011-07-26T01:24:24.013 回答