1

在 HTML 中导入:

<script src="/media/js/jquery-2.0.2.js"></script>
<script src="jquery.dajax.core.js"></script>

<script type="text/javascript">
function oneri()
{
    Dajaxice.rezervationApp.oneri(Dajax.process)
}
</script>

我用:

 <div class="span6"> <a href="#adviceModal" class="btn" role="button" onClick="oneri()" data-toggle="modal">Öneri Al</a></div>

在 ajax.py 中

from django.template.loader import render_to_string
from dajaxice.decorators import dajaxice_register
from django.shortcuts import render
from rezervationApp.models import RoomType, Room, Market, Profile, Reservation


@dajaxice_register
def oneri(request, word):
    dajax = Dajax()
    p = Profile.objects.get(firstname__contains=word)
    dajax.assign('#advice','innerHTML', p)
    return dajax.json()

完全错误:

ImportError at /
No module named 'Dajaxice'
Request Method: GET
Request URL:    http://127.0.0.1:8000/
Django Version: 1.5.1
Exception Type: ImportError
Exception Value:    
No module named 'Dajaxice'
Exception Location: C:\Python33\lib\site-packages\dajaxice\core\__init__.py in <module>, line 3

但是,总是同样的错误。我将其他文件配置为 dajax 教程。你有什么主意吗?

4

3 回答 3

4

问题在于py2和py3之间的区别。Py3只允许显式的相对导入。当你添加一个点时它会起作用。

from .Dajaxice import Dajaxice, dajaxice_autodiscover
于 2013-09-01T13:46:25.623 回答
3

如果我没记错的话,Dajaxice 教程省略了您实际必须安装 Dajaxice 的部分......

如果你还没有,你应该尝试pip install django-dajaxice

于 2013-07-16T20:09:39.203 回答
-1

如果那是您生成的 HTML,那么问题就出在哪里。如果您按照他们文档中的 Dajaxice 设置教程进行操作,您可能会{% load dajaxice_templatetags %} {% dajaxice_js_import %}在模板的头部使用。这应该在您的静态文件夹所在的位置生成一个静态 dajaxice.core.js 文件,并<script charset="utf-8" type="text/javascript" src="/static/dajaxice/dajaxice.core.js">在您生成的 HTML 中向您显示类似的内容。

如果您完全按照 Dasjax 和 Dajaxice 的安装步骤,然后在您的 settings.py 中定义一个 STATIC_ROOT 设置作为您的静态根文件夹的位置(相对于 settings.py 文件),然后运行python manage.py collectstatic它应该会给您 200 并最终Dajaxice javascript 文件的 304 响应和您的应用程序应该可以正常运行。

于 2014-07-24T19:02:33.407 回答