2013-07-17 40 views
3

我剛剛設置了Django和Dajaxice,並且在仔細檢查Django設置和Dajaxice的文檔後無法使其工作。Dajaxice函數在初始設置後沒有可調用的錯誤

經過對堆棧溢出的一些研究,我發現的唯一的事情是確保我在我的urls.py中有dajaxice_autodiscover(),這是我做的。這是我在我的TimeBlendApp ajax.py:

from django.utils import simplejson 
from dajaxice.decorators import dajaxice_register 


@dajaxice_register 
def sayhello(request): 
return simplejson.dumps({'message':'Hello World'}) 

和我的html頁面

{% load dajaxice_templatetags %} 

<html> 
    <head> 
    <script type="text/javascript"> 
     function my_js_callback(data){ 
      alert(data.message); 
     } 
    </script> 
    <title>My base template</title> 
    {% dajaxice_js_import %} 
    </head> 
    <body> 
    <button onclick="Dajaxice.TimeBlendApp.sayhello(my_js_callback);">Click me</button> 
    </body> 
</html> 

我得到的錯誤是

FunctionNotCallableError at /dajaxice/TimeBlendApp.sayhello/ 
TimeBlendApp.sayhello 
Request Method: GET 
Request URL: http://127.0.0.1:8000/dajaxice/TimeBlendApp.sayhello/ 
Django Version: 1.5.1 
Exception Type: FunctionNotCallableError 
Exception Value:  
TimeBlendApp.sayhello 
Exception Location: C:\Python27\lib\site-packages\dajaxice\views.py in dispatch, line 60 

回答

2

您必須運行

python manage.py collectstatic 

每次你改變或添加dajax/dajaxice fu因此dajaxice可以在靜態目錄中創建自己的JavaScript庫。

相關問題