2011-07-15 8 views
0

私はこれをがDjango 1.3で動作させようとしています。私はデータストアとして静的なjsonファイルだけでDjangoなしで動作させることができました。Django/Ext JS 4ベースのアプリケーションでJavascriptファイルをロードする際の問題

次に、私はDjangoアプリケーションで動作させるために以下のアプローチをとっています。

  • まず私は、Djangoのアプリは、簡単なユーザー・モデル(のみusernameemailフィールド)でuserdbという名前作成しました。
  • その後、私はDjangoで2つのビューを作成しました。最初はmysite.com/users/です。TemplateViewはindex.htmlテンプレートファイルに送られます。 2番目のファイル(mysite.com/users/getusers)は、ガイド内のファイルusers.jsonにあるようなjson応答を生成します。
  • 私はすべての静的ファイルを置くDjangoプロジェクトディレクトリ内のディレクトリproject-staticを持っています。だから私はproject-static/userdb/extjs/を作成し、すべてのsdkファイルをそこに置く。 project-static/userdbには、ガイドのExt JSアプリ用に作成したすべてのJSファイルも含まれています。
  • app/store/Users.jsgetusersビューのURLに変更しました。
  • その後、python manage.py collectstaticを使用して静的フォルダにすべての静的リソースを収集し、mysite.com/static/で配信しました。

私は罰金のExt JS負荷のmysite.com/users/すべてのJSファイルを訪問し、しかし、内線JSはそれがmysite.com/users/を使用する代わりにmysite.com/static/からそれらをロードしないので、私はアプリのために書いたJSファイルがロードされません。この問題を解決するにはどうすればよいですか?

答えて

1

このblog postを読んでいるうちに、私のアプリケーションの/ staticパスを使用していないローダーが問題であることがわかりました。だから私は、ファイルの初めにapp.js

Ext.Loader.setPath('AM', '/static/userdb/app'); 
に続い問題、 index.html

<html> 

     {% load static %} 
     <head> 
     <title>Account Manager</title> 

     <link rel="stylesheet" type="text/css" href="{% get_static_prefix %}userdb/extjs/resources/css/ext-all.css"> 
     <script type="text/javascript" src="{% get_static_prefix %}userdb/extjs/ext-debug.js"></script> 
     <script type="text/javascript" src="{% get_static_prefix %}userdb/app.js"></script> 

     <!-- This is Required before the loader starts, so we have to manually include it --> 
     <script type="text/javascript" src="{% get_static_prefix %}userdb/app/controller/Users.js"></script> 
     </head> 
     <body></body> 
    </html> 

を解決するには、次の操作を行うために必要な

関連する問題