2011-01-19 9 views
2

何も指定せずに、Django 1.2.4管理用テンプレートにはjQuery 1.4.2が含まれています。 1.4.4に付属のjQuery UIフレームワークをダウンロードしました。したがって、1.4.4でUIフレームワークを使用したいと思います。しかし、私はDjangoの管理テンプレートから削除する方法がわかりません。この状況で私は何をすべきでしょうか?Django管理用テンプレートの複数バージョンのjQuery

class FooAdmin(admin.ModelAdmin): 

    class Media: 
     # this will cause both jQuery 1.4.2 and 1.4.4 to be included. Not sure if that's a problem or not. 
     js = ("js/foo.js", "js/lib/jquery-1.4.4.min.js", "js/lib/jquery-ui-1.8.8.custom.min.js") 

admin.site.register(Foo, FooAdmin) 

答えて

2

あなたがここにModelAdminの

から_mediaプロパティをオーバーライドすることができますが、実際のDjangoのコードを形成する_mediaです。

class FooAdmin(admin.ModelAdmin): 
    def _media(self): 
     from django.conf import settings 

     js = ['js/core.js', 'js/admin/RelatedObjectLookups.js', 
       'js/jquery.min.js', 'js/jquery.init.js'] 
     if self.actions is not None: 
      js.extend(['js/actions.min.js']) 
     if self.prepopulated_fields: 
      js.append('js/urlify.js') 
      js.append('js/prepopulate.min.js') 
     if self.opts.get_ordered_objects(): 
      js.extend(['js/getElementsBySelector.js', 'js/dom-drag.js' , 'js/admin/ordering.js']) 

     return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js]) 
    media = property(_media) 

しかし、おそらくよりよい解決策

があります
関連する問題