2

私はdjangoの初心者であり、実行中のdajaxiceの簡単な例を取得するために何時間も試しましたが、ファイルを探す正しい方法が見つからないようです.

私はインストールをやり直し、このようなスタックオーバーフローに関する多数の同様の質問で答えを見つけようとしまし

次のように出力される{% dajaxice_js_import %}ヘッダーを挿入します。myapp_index.html

<script src="/static/dajaxice/dajaxice.core.js"
    type="text/javascript" charset="utf-8"></script>

しかし、このファイルが見つかりません:

ImproperlyConfigured: staticfiles finder のストレージ バックエンドに有効な場所がありません。

そして取得は失敗します:

GET /static/dajaxice/dajaxice.core.js HTTP/1.1" 500 59

奇妙なことに十分な dajax ロード:

<script type="text/javascript" 
    src="{% static  /static/dajax/jquery.dajax.core.js" %}"></script>

私のフォルダ構造は次のとおりです。

myproject  
----manage.py  
----myproject  
--------settings.py  
--------urls.py  
----myapp  
--------ajax.py  
--------urls.py  
--------templates  
------------myapp_index.html  

urls.pyまた、なぜ2つのファイルが必要なのかよくわかりませんでしたが、どういうわけmyapp_index.htmlか私が置くとアクセスするようです

from django.views.generic.simple import direct_to_template

その後

url(r'^$', direct_to_template, {'template': 'myapp_index.html'}),

inmyappの URL パターン。

数え切れないほどのファイル名も試しました

python manage.py findstatic dajaxice.core.js

しかし、dajaxice がインストールされていて、.py の中の settings.py ファイルに受け​​入れられていても、どういうわけか dajaxice が見つかりませんINSTALLED_APPS

python manage.py collectstatic同じ理由で失敗しますが、正しく理解していれば、開発サーバー上にいる限り実行する必要はありません。

基礎となる構造について基本的な誤解があると思います。:(

事前にパックされた最新のubuntuパッケージを使用しています:

django: 1.4.5, 
dajaxice: 0.5.5

ヒントを事前にありがとう!

テンプレートファイルは次のとおりです。

{% load static %}
{% load dajaxice_templatetags %}

<html>
  <head>
    <title>My base template</title>
    {% dajaxice_js_import %}
    <script type="text/javascript" src="{% static "/static/dajax/jquery.dajax.core.js" %}"></script>

<script type="text/javascript">
function my_js_callback(data){
alert(data.message);
}
Dajax;
Dajaxice;
  </script>
 </head>
...
 <button      onclick="Dajaxice.myproject.myapp.sayhello(my_js_callback);">Click here!</button>

ページに表示されるDjangoエラーは発生しませんが、Firebugでこれを取得します:

"NetworkError: 500 Internal Server Error -  http://localhost:8000/static/dajaxice/dajaxice.core.js"

この:

ReferenceError: Dajaxice is not defined
Dajaxice;
4

1 に答える 1

2

urls.conf を台無しにしてしまったようです。次のようなものが含まれている必要があります。

url(dajaxice_config.dajaxice_url, include('dajaxice.urls')),

そうですか?

また、ファイルのSTATICFILES_FINDERSセクションにsettings.pyは次を含める必要があります。

 'dajaxice.finders.DajaxiceFinder',
于 2013-05-04T20:49:33.710 に答える