2012-03-04 4 views
4

Tastypie를 사용하여 URL 계층 구조를 만들고 싶지만 오류가 발생합니다. 다음은 계층 구조를 작동시키는 방법입니다.Django-tastypie URL 계층 구조 만들기

/recipe 
/recipe/ID 
/recipe/ID/spice 
/recipe/ID/spice/ID 

이 작업 방법은 알 수 없습니다. 나는 Tastypi 지침에 따라이 작업을 설정할 때 내 URL은 다음과 같이 될 것이다 :

/recipe 
/recipe/ID 
/spice 
/spice/ID 

나는 "/ 조리법/향신료"에 향신료의 RESOURCE_NAME을 변경하면 그때는 "NOTFOUND 수 : 제공된 잘못된 자원 조회 데이터가 (일치하지 않는 유형) "오류가 발생했습니다.

내가 할 수있는 것에 대한 제안이 있으십니까?

답변

4

Tastypie는 REST API를 구현하는 데 도움이되므로 기본적으로 REST 사례를 준수하는 URL 만 지원합니다. 즉, 각 URL에는 자원 이름 ('recipe'또는 'spice')과 선택적으로 해당 자원의 식별자 ('ID')가 있어야합니다. 이 외의 작업은 REST 실행에서 중단되며 REST API를 구현하지 않으면 Tastypie를 사용해야하는지 여부를 다시 고려할 수 있습니다.

말하자면, Tastypie는 사물을 커스터마이징하기 위해 많은 후크를 제공합니다. 맞춤 URL의 경우 override_urls 메소드를 정의하여 특정 URL을 맞춤보기로 매핑하고 일반 디스패처로 보내기 전에 사전 처리를 수행해야합니다.

가능한 경우 표준 REST 방법을 사용하고 별도의 '제조법'및 '향신료'자료로 분류하는 것이 좋습니다. 그 안에있는 향신료에 따라 조리법을 필터링해야하는 경우 '향신료'는 기본 URL의 일부가 아닌 GET 매개 변수로 전달되어야합니다. 희망이 도움이됩니다.

+0

감사합니다. 그것에 대한 좀 더 많은 연구를 했었고 이제는 의미가 있습니다. 나는 그것을하는 편안한 방법을 고수 할 것입니다. – tabdon