2

我知道,我知道,您首先想到的是在线和 dajaxproject.com 上查看所有说明

好吧,我已经检查并检查并重新运行此安装,但我无法弄清楚问题所在。我认为这与我使用的 Dajaxice 版本和安装说明的版本有关,但通常缺少这些细节。

在此过程中,我已完成所有设置以完成一项非常简单的任务。从 IP:8000(即 1.2.3.4:8000)加载网页并让该页面加载一个简单的 html 表单按钮。一旦按下该按钮,页面就会向服务器发送一条消息(使用 dajaxice),一旦它返回,就会弹出一个警告框,证明 dajaxice 安装正在运行。

所以我有:

  • 通过从此处获取 zip 安装 Dajaxice(和 dajax):github [dot] com/jorgebastida/django-dajaxice/
  • 更改了基本 Django 项目中的所有内容以遵循本教程中的详细信息:http: //django-dajaxice.readthedocs.org/en/latest/installation.html
  • 我已经设置了 ajax.py 和 index.html 的所有细节来处理这个例子:django-dajaxice [dot] readthedocs [dot] org/en/latest/quickstart.html

PS 对不起“[dot]”,但作为一个新注册用户,他们将您限制为每个帖子 2 个,所以我试图为您提供可点击的最佳链接。

我难住了。我一直在尝试很多不同的东西,但可用的文档似乎很零星。这一定是一些简单的事情,我搞砸了,但我似乎找不到它。

目前,“打个招呼!” 按钮出现在屏幕上,但是当您按下它时没有任何反应。有任何想法吗?

这是我在这里使用的 Django 项目的 zip 文件的链接:https ://docs.google.com/open?id=0B5rzYk6W5HlrYk9veVRfM3JkTGc

按照我的组织方式,DjangoAjax 只是包含 Django 项目的文件夹。ajax_prac 是项目,实践是应用程序。此外,您还会看到一个名为 django_media 的文件夹......这很容易解释,它只包含我的 Django 项目的所有“媒体”,包括 jquery.js 和 jquery.dajax.core.js

如果我在代码中弄脏了一些细节,与安装指南相反,我深表歉意。我已经经历了很多次迭代,所以我很可能在发布这篇文章时忘记了改变一些东西。

任何人都可以帮忙吗?

4

2 回答 2

4

所有文档的怪异之处可能与我昨天(8 小时前)发布的新版本有关。可能您正在使用旧版本的 dajaxice 阅读新文档。

我已经发布了 django-dajaxice (0.5) 和 django-dajax (0.9.1),它们都与最新版本的 Django (1.4.1) 完全兼容。

django-dajaxice:http ://pypi.python.org/pypi/django-dajaxice django-dajax: http ://pypi.python.org/pypi/django-dajax

对于这个版本,我还重写了这两个文档并将它们托管在 readthedocs 上。此外,http ://dajaxproject.com 代码现在是开源的,因此每个人都可以阅读代码并了解 dajaxice 在生产中的工作方式。

django-dajaxice:http ://django-dajaxice.readthedocs.org/en/latest/ django-dajax: http : //django-dajax.readthedocs.org/en/latest/ 示例项目:https ://github.com /jorgebastida/dajaxproject.com

您能否按照新的安装步骤(非常相似的http://django-dajaxice.readthedocs.org/en/latest/installation.html )升级到 django-dajaxice (0.5)并在此处发布您可能遇到的任何回溯/问题?

谢谢

于 2012-08-16T06:41:47.540 回答
0

在您的示例代码中(DjangoAjax / ajax_prac / templatedirectory / practice / index.html):

<input type="button" value="Send message to server!"
onclick="Dajaxice.ajax.sayhello(my_js_callback);">

应该:

<input type="button" value="Send message to server!"
onclick="Dajaxice.ajax_prac.practice.views.sayhello(my_js_callback);">

即它必须引用包含您注册的 Dajaxice 视图的 Python 模块。根据您的示例代码, ajax_prac.practice.views 存在,而 ajax.sayhello 不存在。

此外,Python 模块必须以“Dajaxice”开头(这可能是一个重要的混淆来源)。

于 2012-12-01T06:25:01.780 回答