Django 및 Restful API
Django로 RESTful API를 만드는 방법론을 선택하는 데 어려움을 겪고 있습니다. 내가 시도한 접근 방식 중 어느 것도 "은색"총알이 아닌 것 같습니다. http://fi.am의 WAPI 는 아마도 내가 수행하고 싶은 것에 가장 가깝지만, 진정한 RESTful API에서 리소스 식별자 인 매개 변수가 a 대신 쿼리 문자열에있는 것이 허용되는지 확실하지 않습니다. "깨끗한"URL 형식. URL을 "정리"하기 위해 WAPI RestBinding.PATTERN 수정에 대한 제안 사항이 있습니까? 내가 살펴본 또 다른 옵션은 Django-Rest-Interface입니다. 그러나이 프레임 워크는 내가 필요로하는 가장 중요한 부분 중 하나를 위반하는 것으로 보이며 다른 리소스에 대한 참조를위한 전체 리소스 URL을 포함하는 것입니다 ( http://jacobian.org/writing/rest-worst-practices/ 참조).부적절한 링크 사용). 마지막 옵션은 django-multiresponse를 사용하고 기본적으로 먼 방법을 사용하는 것입니다.
특히이 결정을 처리 한 사람들에게 최선의 조언을 해주십시오.
Django의 경우 tastypie 및 피스톤 외에도 django-rest-framework는 언급 할 가치가있는 유망한 것입니다. 이미 내 프로젝트 중 하나를 원활하게 마이그레이션했습니다.
Django REST 프레임 워크는 Django 용 경량 REST 프레임 워크로, 잘 연결된 자체 설명 RESTful 웹 API를 쉽게 빌드 할 수 있도록합니다.
빠른 예 :
from django.conf.urls.defaults import patterns, url
from djangorestframework.resources import ModelResource
from djangorestframework.views import ListOrCreateModelView, InstanceModelView
from myapp.models import MyModel
class MyResource(ModelResource):
model = MyModel
urlpatterns = patterns('',
url(r'^$', ListOrCreateModelView.as_view(resource=MyResource)),
url(r'^(?P<pk>[^/]+)/$', InstanceModelView.as_view(resource=MyResource)),
)
공식 사이트의 예를 살펴보면 위의 모든 코드는 API, 자체 설명 문서 (예 : SOAP 기반 웹 서비스) 및 테스트 용 샌드 박싱을 제공합니다. 매우 편리합니다.
링크 : http://django-rest-framework.org/
최근에 출시 된 django-piston이 이제 Django에서 적절한 REST 인터페이스를 만드는 데 가장 적합한 솔루션이라고 생각합니다. 장고 피스톤
참고 : django-piston은 더 이상 유지되지 않는 것 같습니다 (아래 주석 참조)
django-tastypie 는이를위한 좋은 방법입니다. 그들의 슬로건 : "2010 년 이후로 Django 앱을위한 맛있는 API 만들기"는 매우 위안이됩니다.)
Django 애플리케이션에 JSON이 포함 된 REST API를 추가하기위한 경량 프레임 워크 인 django-dynamicresponse를 살펴볼 수 있습니다 .
기존 Django 앱에 API 지원을 추가하려면 최소한의 변경이 필요하며, 새 프로젝트에서 처음부터 API를 쉽게 빌드 할 수 있습니다.
기본적으로 JSON을 request.POST로 파싱하기위한 미들웨어 지원이 포함되며, 반환 된 컨텍스트를 JSON으로 직렬화하거나 요청 유형에 따라 조건부로 템플릿을 렌더링 / 리디렉션합니다.
이 접근 방식은 API 요청에 대해 별도의 핸들러를 만들 필요가 없다는 점에서 다른 프레임 워크 (예 : django-piston)와 다릅니다. 기존 뷰 로직을 재사용하고 일반 뷰와 같이 양식 유효성 검사 등을 계속 사용할 수도 있습니다.
이 프로젝트가 당신에게 유용 할 수 있는지 모르겠지만 링크를 보내는 것은 거의 해를 끼치 지 않습니다. http://opensource.washingtontimes.com/projects/django-apibuilder/ 에서 사용할 수있는 django-apibuilder를 살펴보세요 . 아마도 유용할까요?
/ 제스퍼
이 RestifyDjango를 살펴 보십시오 .
Django XML-RPC 및 JSON-RPC 와 다소 관련이 있습니다.
https://github.com/RueLaLa/savory-pie
Savory Pie는 django를 지원하는 REST 프레임 워크입니다.
Django Rest Framework (DRF)를 살펴보고 이것을 가지고 놀면서 요구 사항에 맞는지 확인하는 것이 좋습니다. 제가 DRF를 추천하는 이유는 GenericAPIView 클래스, Mixin Classes 및 Mixed in Generic 뷰를 사용하여 API 뷰를 정말 간단하게 만들기 때문입니다. API 엔드 포인트를 만들고 코드베이스를 깔끔하고 간결하게 유지하기 위해 시도되고 테스트 된 디자인 패턴을 쉽게 사용할 수 있습니다. 당신은 또한 항상 좋은 당신의 코드를 작성할 때 건조합니다. API 뷰는 말 그대로 2-3 줄입니다.
이 튜토리얼 http://programmathics.com/programming/python/django-rest-framework-setup/ 을 확인할 수 있습니다.이 튜토리얼 은 환경 설정부터 django rest 프레임 워크를 사용하여 RESTful API를 만드는 다양한 방법을 살펴 보는 것입니다.
면책 조항 : 나는 그 웹 사이트의 제작자입니다.
참고 URL : https://stackoverflow.com/questions/656979/django-and-restful-apis
'IT Share you' 카테고리의 다른 글
| .NET 프레임 워크의 "application / json"상수 (0) | 2020.12.12 |
|---|---|
| Kotlin : 적용 대 사용 (0) | 2020.12.12 |
| 클래스 본문에 선언 된 Ruby 메서드 호출 (0) | 2020.12.12 |
| 터치 시대의 툴팁 (0) | 2020.12.12 |
| 인라인 이벤트 핸들러를 작성하는 것이 나쁜 습관입니까? (0) | 2020.12.12 |