1

在尝试将 Dajax 实施到我的 Django 项目中后,我遇到了一个问题。

在 Dajax 网站的安装和使用说明中的某个时刻,我被指示调用 ajax.py 中的一个方法,如下所示:

<button type="button" onclick="Dajaxice.MyProject.MyApp.say_hello(Dajax_process)">Dajax</button>

但是当我尝试单击所述按钮时,根本没有任何反应。它就像一个空按钮。

我仍在试图弄清楚 Dajax 是如何识别我这样的 say_hello 函数的……但这可能就是 Dajax 的使用方式。

我的 say_hello 方法实现如下:

from dajaxice.decorators import dajaxice_register
from dajax.core import Dajax

@dajaxice_register
def say_hello(req):
    print "DAJAX"
    dajax = Dajax()
    dajax.alert("Hello World!")
    return dajax.json()

乍一看,我认为根本找不到方法是问题。我仍然不能 100% 确定这是否是原因。但它可能是。

有人对我应该寻找什么有任何建议吗?

我在页面上有所有说明:http: //django-dajax.readthedocs.org/en/latest/installation.html#installing-dajax

谢谢,大卫

4

1 回答 1

1

目前我自己跨越了这个障碍。

几件事情要确保:

  1. 下载并安装jquery,并将其放在您可以调用它的地方。我把它放在我的应用程序中的一个静态文件夹中:/my_site/example_app/static/js/jquery-2.0.3.js
  2. 您需要使用以下命令将其加载到 HTML Head 视图中:

    <script type="text/javascript" src="{{ STATIC_URL }}js/jquery-2.0.3.js"></script>

  3. 您还需要确保使用以下命令调用 dajax jquery 核心:

    <script type="text/javascript" src="{{ STATIC_URL }}dajax/jquery.dajax.core.js"></script>

  4. 接下来,在您运行服务器之前进行测试运行

    manage.py 收集静态

  5. 这将从 Dajax/Dajaxice 复制 django 需要的所有内容。我将这两个都安装到我的普通 Python2.7 库中,django 从那里拉出它们并将它们复制到所需的文件夹中。

这应该让你继续......我不是这里的专家,但这些步骤有助于解决我的问题。

另外,如果您从 Dajax 的网站复制代码,请不要忘记在 onclick 调用中更改应用程序根...

    <input type="button" value="callback!" onclick="Dajaxice.*EXAMPLE-APP-NAME*.saybye(my_js_callback);">

您需要将其从上述更改为“民意调查”或“示例”......无论运行该代码的应用程序的名称是什么。

于 2013-11-08T01:06:46.007 回答