2010-11-15 22 views
6

Ben django-cms ile oldukça mutlu çalışan bir django sitesi var ama şimdi jQuery kullanarak kendi kendi fantezi javascript bazı eklemek istiyorum. Django için yeni biriyim, bu yüzden problemlerim bundan kaynaklanıyor olabilir.django-cms ve jQuery

Django-cms jQuery'yi kullanır ve bu yüzden üstbilgiye jquery eklerim - işler şaşırtıcı bir şekilde sıçrayıcıyı bozar. Kendi jQuery'imi django-cms'i etkilemeden nasıl ekleyebilirim?

Şu anda javascript dosyalarım, settings.py projelerinde tanımladığım ortam kökünde depolanıyor ve belirtildiği gibi bunları başlıkta belirtiyorum.

Bunu okuduğumda, aptalca bir soru gibi görünüyor, ama yine de şaşırdım.

DÜZENLEME ::

Ben tanımlanmış bir medya kökü var Bazı Kodu:

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

ve başlık application.js eserlerinde

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

Javascript içerir benim taban şablonunda

ama django-cms şeyler bittiğinde kırılıyor. Örneğin, bir yer tutucu sonuçlarına bir eklenti eklemeye çalışırken:

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 

Ben muhtemelen eklemek gereken iki jQuerys birbirini

:: BAŞKA EDIT'e :: ile çelişen çünkü bu oldu varsayılır Ben

Ne yazık ki, sürüm 1.3 kullanır ... her şeyi düzeltmek en jQuery birlikte django-cms bağlayan ... Bu gelişme hala çünkü sadece statik dosyaları barındırmak için

+0

Açıklama: JQuery kitaplığının farklı bir sürümünü Django-CMS ile birlikte kullanmaktan mı yoksa jQuery'de yazılmış kendi özel komut dosyalarınızı eklemek mi istiyorsunuz? – semperos

+0

Paketteki jQuery'yi kullanmama zahmet veriyorum - ancak görebildiğim kadarıyla sadece django-cms admin çubuğu vb. Olduğunda yüklenir. Bazı ekstra jquery ui öğeleri ve en az bir eklenti olsa gerek. –

+0

Django, jQuery ile çakışmamalıdır. Statik bir sayfa oluşturmayı ve test edilecek jquery kodunu eklemeyi denediniz mi? Burada size sorun veren kodu yapıştırmak isterseniz, muhtemelen daha spesifik bir yanıt alırsınız. –

cevap

1

Basit bir çözüm: JQuery kitaplığınızı üstbilgide tutun ve diğer tüm JS'nizi sayfanın önyüklemesine </body>'dan önce yerleştirin. Bu durumda yönetici modunda, jQuery lib'iniz yönetici kopyaları tarafından geçersiz kılınır ve kodunuzun tümü tekrar eklenecektir.

+0

* 'dan herşeyin'dan hemen önce çalışmasını istiyorum – Agonych

2

Kuyusu django gelmez kullanıyorum. 2 ama düşünüyorum bununla uğraşmak yerine django-cms'yi yükseltmek ve güncellemek yerine.