2016-03-22 45 views
4

我使用的是django 1.9版本,我想在我的应用程序中实现ajax搜索。在文档中,它表示将url添加到根url模式。ImportError:没有名为defaults的模块

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 

任何一个可以帮我解决这个问题?

+0

请检查更新后的答案,以使您的网址与当前包一起工作。 –

回答

0

django.conf.urls.defaults在Django 1.4中已弃用,后来在Django 1.6中删除。阅读this。而你使用的软件包有urls与Django 1.9不兼容。据Django的1.9 documentation你应该定义你的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), 
] 

UPDATE:

您可以通过修改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)), 
] 
3

django.conf.urls.defaultshas been removed from Django 1.6 onwards

django-ajax-search包上次于2013年更新包一直没有更新了很久,不会Django的1.9

要么你可以找到另一个软件包或者您也可以手动更新工作的顺利开展。

+0

你能解释一下如何手动更新吗?这是一个简单的过程吗? –

+0

@SwathiPantala - 手动更新将是一项冗长的任务。我会建议寻找另一个包。 – JRodDynamite

相关问题