私は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;