2013-04-30 37 views
1

我正在使用Django 1.5與活塞。每當我試着捲曲以下網址:Django活塞未找到錯誤

http://127.0.0.1:8000/search/?limit=20&uri= 

我收到以下錯誤:

["NotFound"] 

URL模式:

search_resource = Resource(handler=SearchHandler) 

urlpatterns = patterns('', 
    url(r'^', annotation_resource), 
    url(r'^search/$', search_resource), 

) 

和處理請求的處理:

class SearchHandler(AnonymousBaseHandler): 
    allowed_methods = ('GET',) 
    def read(self, request, id=None): 
     non_query_args = ['offset', 'limit', 'all_fields'] 
     offset = int(request.GET.get('offset', 0)) 
     limit = int(request.GET.get('limit', 20)) 
     query=dict([(k,v) for k,v in request.GET.items() if not k in non_query_args]) 
     notes = Annotations.find(query).limit(limit).skip(offset) #.sort([(, pymongo.DESCENDING if orderDesc else pymongo.ASCENDING)]) 

     return {'results': [dict([(k,v) if k!='_id' else ('id',v) for k,v in item.items()]) for item in notes], 
       'total': notes.count()} 

我想不通由於錯誤中缺乏冗長而成爲問題。 /謝謝

+0

我會強烈建議使用TastyPie在活塞:http://tastypieapi.org/ – Brandon 2013-04-30 12:34:26

+0

我不能使用tastypieapi某些原因。它必須是活塞。 – tank 2013-05-01 04:03:32

回答

0

我解決了這個問題。問題在這裏:

def read(self, request, id=None): 

刪除ID =無重新排序的URL模式,所以它轉到正確的處理程序。

urlpatterns = patterns('', 
    url(r'^search/$', search_resource), 
    url(r'^(?P<id>.*)$', annotation_resource), 
}