2013-04-30 8 views
1

나는 Django 1.5를 Piston과 함께 사용하고 있습니다. 나는 다음과 같은 오류가Django Piston Not Found 오류

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

: 나는 다음과 같은 URL을 곱슬 곱슬하려고 할 때마다

["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()} 

e 문제에 대한 자세한 정보가 부족합니다. /감사합니다.

+0

내가보기 엔 피스톤을 통해 TastyPie를 사용하는 것이 좋습니다 : http://tastypieapi.org/ – Brandon

+0

를 내가 어떤 이유로 tastypieapi을 사용할 수 없습니다. 피스톤이어야 해. – tank

답변

0

문제가 해결되었습니다. 문제는 여기에 있습니다 :

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

제거 된 URL 패턴을 재정렬하고 올바른 처리기로 이동합니다.

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