2010-11-15 2 views
6

У меня есть сайт django, довольно счастливо работающий с django-cms, но теперь я хочу включить некоторые из своих собственных javascript, используя jQuery. Я довольно новичок в django, поэтому мои проблемы могут возникнуть из-за этого.django-cms и jQuery

Django-cms использует сам jQuery, поэтому, если я добавлю jquery в заголовок, все вещи ломаются неутешительно. Как добавить собственный jQuery, не затрагивая django-cms?

В настоящее время файлы javascript хранятся в корневом каталоге носителя, который я определил в проектах settings.py, и, как уже упоминалось, я ссылаюсь на них в заголовке.

Поскольку я читаю это, это кажется глупым вопросом, но я все еще недоумеваю.

EDIT :: Некоторый Код

У меня есть корень носителя, определенный:

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> 

Javascript в application.js работ, но это когда материал 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 были противоречивыми друг с другом

:: ДРУГОЙ EDIT :: я, вероятно, следует добавить, что Я использую Django для размещения статических файлов только потому, что это все еще в разработке ...

+0

Нужно уточнить: вы хотите использовать другую версию библиотеки jQuery, чем то, что поставляется с Django-CMS, или просто хотите добавить свои собственные скрипты, написанные в jQuery? – semperos

+0

Я не против использования связанного jQuery - но, насколько я вижу, он загружается только тогда, когда существует панель администратора django-cms и т. Д. Мне нужно включить некоторые дополнительные элементы jquery ui и хотя бы один плагин. –

+0

Django не должен конфликтовать с вашим jquery. Вы пытались создать статическую страницу и добавить код jquery для тестирования? Если вы хотите вставить код, который дает вам проблемы, вы, вероятно, получите более конкретный ответ. –

ответ

1

Простое решение: сохраните библиотеку JQuery в заголовке и поместите все остальные JS в загрузочную страницу, прямо перед </body>. В этом случае в режиме администратора ваша jQuery lib будет переопределена копией администратора, а затем весь ваш код будет добавлен обратно.

+0

* прямо до Agonych

2

Ну, связывая Джанго-CMS, в комплекте JQuery делает все исправить ...

Увы, он использует версию 1.3. 2, но я думаю, что я а не пытаться обновить django-cms.