我有一个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来托管静态文件,因为它仍在开发中......
答案 0 :(得分:2)
好吧,链接django-cms的捆绑jQuery确实解决了所有问题......
唉,它使用的是版本1.3.2,但我想我会处理它而不是尝试升级django-cms。
答案 1 :(得分:1)
一个简单的解决方案:将JQuery库保留在标题中,并将所有其他JS放在页面的底部,就在</body>
之前。在这种情况下,在管理模式下,您的jQuery lib将被管理员的副本覆盖,然后您的所有代码将被添加回它。