我用dajaxice(0.5.4)运行Django(1.4.3)。我的主要项目文件夹ajax.py
中有我的函数文件prj
,如下所示:
from dajax.core import Dajax
from dajaxice.decorators import dajaxice_register
from django.utils import simplejson
from dajaxice.core import dajaxice_functions
from django.core.urlresolvers import reverse, resolve
def getContent(request, *args, **kwargs):
url = kwargs['url']
try:
v = resolve(url)
except:
data = []
data.append(('some','data'))
return simplejson.dumps(data)
dajaxice_functions.register(getContent)
我跑了python manage.py collectstatic
,我得到以下输出:
Copying '/tmp/tmpm8OlOw'
但是,dajaxice.core.js
生成的不根本没有我的函数getContent
。我哪里错了?我希望dajaxice安装正确,一切都好。
答案 0 :(得分:0)
似乎您忘记从dajaxice_autodiscover()
致电urls.py
(这是dajaxice作者推荐的地方)
这个调用将加载ajax.py模块,并使JS代码生成器可以发现它的方法
答案 1 :(得分:0)
您需要使用@dajaxice_register装饰器或文档中提到的其他方法向dajaxice注册函数。
http://django-dajaxice.readthedocs.org/en/latest/quickstart.html#create-your-first-ajax-function