4

我正在使用 django 1.9 版本,我想在我的应用程序中实现 ajax 搜索。在文档中,据说将 url 添加到根 url 模式。

url(r'^ajax_search/',include('ajax_search.urls')),`

然后我收到如下导入错误:

File "/usr/local/lib/python2.7/dist-packages/django_ajax_search-1.5.1-py2.7.egg/ajax_search/urls.py", line 1, in <module>
    from django.conf.urls.defaults import *
ImportError: No module named defaults

谁能帮我解决这个问题?

4

2 回答 2

3

django.conf.urls.defaults 已从 Django 1.6 开始删除

django-ajax-search包最后一次更新是在 2013 年。这个包很久没有更新了,对于 Django 1.9 不能顺利运行

您可以找到另一个包,也可以手动更新它。

于 2016-03-22T06:15:10.493 回答
0

django.conf.urls.defaults在 Django 1.4 中已弃用,后来在 Django 1.6 中删除。读这个。而且您使用的包urls与 Django 1.9 不兼容。根据 Django 1.9文档,您应该定义urls.py为,

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^articles/2003/$', views.special_case_2003),
    url(r'^articles/([0-9]{4})/$', views.year_archive),
    url(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive),
    url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail),
]

更新:

您可以修改urls.py如下以使其正常工作,

from django.conf.urls import url, include
from ajax_search import views as as_views

ajax_search_urlpatterns = [
    url(r'^xhr_search$','as_views.xhr_search'),
    url(r'^search/', 'as_views.search'),
]

urlpatterns = [
    url(r'^ajax_search/',include(ajax_search_urlpatterns)),
]
于 2016-03-22T06:13:48.020 回答