2016-03-22 59 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

相關問題