【问题标题】:Dajaxice installation walkthroughDajaxice 安装演练
【发布时间】:2013-01-29 23:40:25
【问题描述】:

我已经尝试了各种安装 Dajaxice 的方法来测试它,但无论如何,我似乎可以适当地提供所有 JS 文件,但似乎永远无法真正调用 ajax.py 中的函数。具体来说,在我的模板中,我有一个带有

的按钮
onclick="Dajaxice.dajaxtest.exampleapp.sayhello(my_js_callback);"

但我总是得到(在 Chrome 的开发者控制台中)

Uncaught TypeError: Cannot read property 'exampleapp' of undefined

在这种特殊情况下,它是“exampleapp”,但是根据其他建议,我尝试了许多不同的参考。似乎我的索引页面上的 Dajaxice 对象根本没有任何预期的属性,它没有“myprojectname”(dajaxtest),也没有“myappname”(exampleapp),也没有简单的“myfunction”。

顺便说一句,安装 Dajaxice 的文档没有提到包括

from dajax.core import Dajax

在 ajax.py 中,但有另一个答案,所以我尝试了它无济于事。

如果您有兴趣,我正在尝试制作的确切代码库已压缩并在此处提供:https://docs.google.com/file/d/0B16ANo4rID0PZld5V0p0enlRdUU/edit(Dajax/Dajax ice 是通过pip install django-dajax 安装的,但实际上,我的问题的完美答案将是如果你已经启动并运行了 Dajaxice,你到底是如何安装它的,有详细的步骤,因为官方文档似乎不是很实用。

【问题讨论】:

    标签: javascript django dajax


    【解决方案1】:

    我完全按照documentation says 做的,而且效果很好(尽管我只是真正解决了示例问题)。

    我注意到的一些事情:

    1) 您不必导入 Dajax 即可让 Dajaxice 工作(因为前者位于后者之上)。

    2) 我认为你的按钮 onclick 应该是onclick="Dajaxice.exampleapp.sayhello(my_js_callback);"

    3) 您需要在 urls.py 的底部添加urlpatterns += staticfiles_urlpatterns()

    我希望这会有所帮助!

    【讨论】:

    • 所以我在 Django 后端编码休息一两个星期后重新访问了 Dajaxice。当我再次尝试时(在 Django 1.5 安装上,FWIW),一切都顺利进行,我不太确定我真正的问题是什么。我会说:1)(3)并不完全正确,如果您只是启用了 staticfiles 应用程序,则不需要添加 staticfiles_urlpatterns() 。 2) 可能是我没有运行 ./manage.py collectstatic。我不知道为什么这很重要——即使我不运行它,我的 ajax.py 更改也会在 dajaxice js 中被提取。但以前,他们没有注册。
    【解决方案2】:

    我想您没有在 INSTALLED_APPS 中的项目 settings.py 中添加 appname。 像这样:

    INSTALLED_APPS = (
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.sites',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'dajaxice',
        'simple',
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 1970-01-01
      • 1970-01-01
      • 2017-03-28
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多