0

django-admin-tools をインストールし、プロジェクト フォルダーに dashboard.py を作成しました。

このファイル内で、メディア クラスを指定しました。

#myproject/dashboard.py 
class Media: 
        css = ('',) 
        js = ('http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/ 
jquery.min.js',) 

私の設定では:

#settings.py
# admin_tools 
ADMIN_TOOLS_INDEX_DASHBOARD = 
'myproject.dashboard.CustomIndexDashboard' 
ADMIN_TOOLS_APP_INDEX_DASHBOARD = 
'myproject.dashboard.CustomAppIndexDashboard' 

そして、私の URL は次のように構成されています。

#urls.py
... 
urlpatterns+= patterns('', 
        url(r'^admin_tools/', include('admin_tools.urls')), 
        url(r'^admin/', admin.site.urls), 

        url(r'', include('feincms.urls')), 

) 

明らかな間違いを見た人はいますか?jquery ファイルが firebug にダウンロードされていません。jqueryもadmin_toolsの一部だと思いますが、このエラーメッセージはそうではないことを示しているようですか?

Uncaught TypeError: Property '$' of object [object DOMWindow] is not a 
function 

どんな助けでも大歓迎です。

4

2 に答える 2

1

これはおそらく、競合を避けるためにdjango adminでjQuery関数の名前が変更されたためだと思います。
jquery ファイルがビューソースにロードされているのを確認でき、コンソールに $ と入力するとそのエラーが発生する
場合は、django.jQuery を試してくださいスクリプトの最後で、django.jQuery に戻し ます。例としてhttps://github.com/philippbosch/django-geoposition/blob/master/geoposition/static/geoposition/geoposition.js
を 参照してください。

于 2013-01-28T15:06:42.613 に答える
0

そうです、jquery はすでに admin_tools に含まれています。新しいバージョンが必要な場合を除き、付属のものを使用することをお勧めします。または、Media クラスがなくても読み込まれませんか?

セットアップの問題は、外部ホストから jquery をロードすることです。これも機能すると思いますが、ファイルを挿入する admin_tools の dashboard.html テンプレートを見ると、それ{{ media_url }}が各 js ファイルの先頭に追加されていることがわかります。結果は、のような無効なインクルードです'/media/http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'。これは明らかに admin_tools の問題であり、バグ レポートを提出します。

回避策として、Media クラスを削除し、dashboard.html をオーバーライドして外部ファイルを含めることができます。

于 2012-03-12T21:59:10.113 に答える