【问题标题】:Django Ajax - Dajaxice.myapp is not definedDjango Ajax - Dajaxice.myapp 未定义
【发布时间】:2023-03-14 08:26:01
【问题描述】:

我正在尝试在我的网站中实现 Ajax 功能。这似乎是一个比较常见的问题,但我在网上找到的所有解决方案都很简单,比如忘记了教程中的某些内容。错误消息出现在 JavaScript 控制台中。

我正在尝试学习本教程:http://django-dajaxice.readthedocs.org/en/latest/installation.html

我的行动:

我使用pip install django_dajaxice 进行安装

我将教程中的settings.pyurls.py 代码复制粘贴到我自己的代码中:

from dajaxice.core import dajaxice_autodiscover, dajaxice_config
dajaxice_autodiscover()
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = patterns('',
    # AJAX
    url(dajaxice_config.dajaxice_url, include('dajaxice.urls')),
)
urlpatterns += staticfiles_urlpatterns()

STATICFILES_FINDERS = ( ... ) # Exact copy paste from tutorial

TEMPLATE_LOADERS = ( ... ) # Exact copy paste from tutorial

TEMPLATE_CONTEXT_PROCESSORS = ( ... ) # Exact copy paste from tutorial

我在 base.html 中包含了模板标签,实际的 html 文件继承自该标签

然后快速入门:http://django-dajaxice.readthedocs.org/en/latest/quickstart.html

我创建了 content/ajax.py(内容是我的应用程序)。里面的代码很简单:

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

@dajaxice_register
def fav(request):
    dajax = Dajax()
    return dajax.json()

最后是实例化 AJAX 的 JS 和 HTML 代码:

<script type="text/javascript" src="{{ STATIC_URL }}dajaxice/dajaxice.core.js"></script>
function js_callback(data) {
    Dajax.process(data);
    alert(data.message);
}

<a onClick="Dajaxice.content.fav(js_callback);">Favorite</a>

【问题讨论】:

  • 已解决:我需要包含一个 return false;在 onClick 调用 JS 函数之后。这没有包含在文档中...

标签: javascript python ajax django


【解决方案1】:

您需要再次运行collectstatic 以重新生成dajaxice.core.js。 也许你应该删除之前收集的静态文件。

【讨论】:

    猜你喜欢
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 2014-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多