Javascript Django Ajax-Dajaxice.myapp未定义
我正在尝试在我的网站中实现Ajax功能。这似乎是一个中等常见的问题,但我在网上找到的所有解决方案都很简单,就像在教程中忘记了什么一样。错误消息出现在JavaScript控制台中 我将尝试遵循本教程: 我的行动: 我使用了Javascript Django Ajax-Dajaxice.myapp未定义,javascript,python,ajax,django,Javascript,Python,Ajax,Django,我正在尝试在我的网站中实现Ajax功能。这似乎是一个中等常见的问题,但我在网上找到的所有解决方案都很简单,就像在教程中忘记了什么一样。错误消息出现在JavaScript控制台中 我将尝试遵循本教程: 我的行动: 我使用了pip install django_dajaxice进行安装 我将教程中的settings.py和url.py代码复制粘贴到我自己的: from dajaxice.core import dajaxice_autodiscover, dajaxice_config dajaxi
pip install django_dajaxice
进行安装
我将教程中的settings.py
和url.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()
及
我将模板标记包括在我的base.html
中,实际的html文件继承自该文件
然后快速启动:
我创建了content/ajax.py(content是我的应用程序)。里面的代码很简单:
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>
函数js_回调(数据){
过程(数据);
警报(数据、消息);
}
最喜欢的
您需要再次运行collectstatic
来重新生成dajaxice.core.js
。
也许你应该删除以前收集的静态文件。解决:我需要包含一个返回false;在onClick调用JS函数之后。文档中没有包含这些内容。。。
<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>