下面你舉的安裝和快速入門的引用,而我也與dajaxice例子掙扎。我的錯誤類似,但我看到「Dajaxice.example not defined。」。
我們調用主django項目myproj
和安裝的應用程序,其中ajax.py文件位於myproj/myapp
。這兩個部分似乎得到它的工作對我來說是:含def sayhello(request)
廣場ajax.py文件在正確的目錄,並使用相應的正確路徑,SayHello的功能。
- 將其放置在一個目錄中settings.INSTALLED_APPS列出的應用程序之一
- 如果安裝的應用程序名稱被列爲
"myproj",
ajax的文件應該是myproj/ajax.py
,JS的參考應該是:Dajaxice.myproj.sayhello(my_js_callback)
- 如果您所安裝的應用程序名稱被列爲
"myproj.subapp",
ajax的文件應該是myproj/myapp/ajax.py
,JS的參考應該是:Dajaxice.myproj.myapp.sayhello(my_js_callback)
[我用這一個]
- 記得把
{% dajaxice_js_import %}
模板<head>
節
注意:在我的示例中,「myapp」可以替換爲「example」以匹配dajaxice示例代碼。
正確設置collectstatic以在代碼更新時生成新的/static/dajaxice/dajaxice.core.js文件。
- 我按照您引用的dajaxice readthedocs安裝鏈接中列出的方向進行操作。
- 新增STATIC =「/靜態/在settings.py文件
- 加入 'django.contrib.staticfiles' 到
INSTALLED_APPS
在settings.py文件
- 跑
python manage.py collectstatic
將所有文件的拉入/靜態/目錄。這包括產生文件/static/dajaxice/dajaxice.core.js
- 檢查這個文件,你應該看到對象層次的SayHello的功能:
Dajaxice.myproj.sayhello
或Dajaxice.myproj.myapp.sayhello
。
此外,如果您是從http://www.dajaxproject.com/multiply/試圖乘例如,更改function calculate()
您ajax.py
文件的位置匹配之一:
<script type="text/javascript" charset="utf-8">
function calculate(){
Dajaxice.myproj.myapp.multiply(Dajax.process,{'a':$('#a').val(),'b':$('#b').val()})
};
</script>
或
<script type="text/javascript" charset="utf-8">
function calculate(){
Dajaxice.myproj.multiply(Dajax.process,{'a':$('#a').val(),'b':$('#b').val()})
};
</script>
和在<head>
部分包含相應的dajax js文件:
<script src="/static/dajax/jquery.dajax.core.js"></script>
或
{% static "/static/dajax/jquery.dajax.core.js" %}
什麼是你從Django的端返回? – 2013-02-17 07:59:55
Burhan,我該如何檢查從Django端返回的內容? 在Django的功能應該被調用看起來像這樣: @dajaxice_register 高清的SayHello(請求): 回報simplejson.dumps({「消息」:「你好世界」}) – 2013-02-17 09:07:05
你是如何運行代碼,使用runserver?你有debug = True嗎? – 2013-02-17 09:13:07