将haystack添加到url时的ImportError?

时间:2011-07-18 00:32:24

标签: python django templates tags django-haystack

当我将以下内容添加到我的site.urls.py文件

#haystack search
url(r'^search/', include('haystack.urls')),

我收到此错误

Caught ImportError while rendering: No module named urls

这里

a href="{% url django.contrib.auth.views.logout %}">Logout</a>

或在{%url%}标记的第一个位置,当我注释掉干草堆网址部分时,网站运行正常。

我正在使用python2.7,django1.3和haystack 1.2.4

我做错了什么?

编辑:我在没有{%urls%}的模板文件上尝试了相同的设置,但仍然得到名为urls的No模块错误。我使用了easy_install django-haystack,将它添加到我的installed_apps,在settings.py中创建了一个HAYSTACK_SITECONF文件及其路径,为什么没有haystack的url?

谢谢!

不确定发生了什么,但我必须去python2.7文件夹和rm -rf干草堆文件夹并再次安装它们......它工作了......:|

1 个答案:

答案 0 :(得分:1)

忽略模板代码并查看回溯。我有一些问题,它向我展示了模板代码,但错误实际上是由python代码引起的(你可以在回溯中找到)。

确保haystack是Python路径中的有效包:

通过创建新的视图功能,注释出有问题和诊断的一行:

import sys
# ...
def get_sys_path(request):
    return HttpResponse(str(sys.path))

将此添加到您的urls.py并访问它。确保您可以在haystack中的一个路径(即输出)中看到sys.path目录。如果你没有看到它,你可能没有正确安装haystack。