初始设置后,Dajaxice函数无法调用错误

时间:2013-07-17 16:07:46

标签: python django dajaxice dajax

我刚刚设置了Django和Dajaxice,在仔细检查了Django设置和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

1 个答案:

答案 0 :(得分:2)

你必须跑

python manage.py collectstatic 

每次更改或添加dajax / dajaxice函数。因此,dajaxice可以在静态目录中创建自己的javascript库。