当我将以下内容添加到我的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干草堆文件夹并再次安装它们......它工作了......:|
答案 0 :(得分:1)
忽略模板代码并查看回溯。我有一些问题,它向我展示了模板代码,但错误实际上是由python代码引起的(你可以在回溯中找到)。
确保haystack
是Python路径中的有效包:
通过创建新的视图功能,注释出有问题和诊断的一行:
import sys
# ...
def get_sys_path(request):
return HttpResponse(str(sys.path))
将此添加到您的urls.py
并访问它。确保您可以在haystack
中的一个路径(即输出)中看到sys.path
目录。如果你没有看到它,你可能没有正确安装haystack。