1

我正在使用 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 和一切。

4

2 回答 2

0

Seems you forgot to call dajaxice_autodiscover() from urls.py (this is the place recommended by dajaxice author)

this call will load ajax.py module and make it's method discoverable by JS code generator

于 2013-06-06T01:31:59.850 回答
0

您需要使用 @dajaxice_register 装饰器或文档中提到的其他方法向 dajaxice 注册函数。

http://django-dajaxice.readthedocs.org/en/latest/quickstart.html#create-your-first-ajax-function

于 2014-02-13T08:41:59.417 回答