it-swarm.asia

Django ve Restful API'leri

Django ile RESTful bir API oluşturmak için bir metodoloji seçmekle uğraşıyorum. Denedim yaklaşımların hiçbiri "gümüş" mermi gibi görünmüyor. WAPI, http://fi.am adresinden, muhtemelen yapmak istediklerime en yakın olanıdır, ancak gerçek bir RESTful API'sinde kaynak tanımlayıcıları olan parametrelerin bulunmasının kabul edilebilir olup olmadığından emin değilim. "temiz" bir URL biçiminde yerine querystring. URL'leri "temizlemek" için WAPI RestBinding.PATTERN değiştirmek için herhangi bir öneriniz? Araştırdığım bir diğer seçenek Django-Rest-Interface. Bununla birlikte, bu çerçeve ihtiyacım olan en önemli parçalardan birini ihlal ediyor gibi görünüyor ve bu da diğer kaynaklara referanslar için tam kaynak URL’yi içeriyor (bkz. Http://jacobian.org/writing/rest-worst-practices/) Bağlantıların Yanlış Kullanımı). Son seçenek Django-multiresponse'yi kullanmak ve temelde uzun yoldan yapmaktır.

Lütfen bana en iyi tavsiyenizi verin, özellikle de bu kararla ilgilenen insanlar. 

58
gsiegman

Django-piston'un Django'da uygun bir REST arayüzü oluşturmak için en iyi çözüm olduğuna inanıyorum. Django-piston

Not: Django-piston artık korunmuyor gibi görünüyor (aşağıdaki yorumlara bakın) 

18
gsiegman

Django için, tastipi ve pistonun yanı sıra, Django-rest-framework, bahsetmeye değer bir şeydir. Projelerimden birini sorunsuz bir şekilde geçirdim bile.

Django REST çerçevesi, Django için olan hafif bir REST çerçevesidir. RESTful .__ 'ya kendi kendini tanımlayan iyi bağlı bir yapı kurmayı kolaylaştırmayı amaçlamaktadır. Web API'leri.

Hızlı örnek:

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)),
)

Resmi siteden örnek alın, yukarıdaki tüm kodlar api, kendi kendini açıklayan belgeler (sabun bazlı web hizmeti gibi) ve hatta test için kum havuzu sağlar. Çok uygun.

Bağlantılar: http://Django-rest-framework.org/

41
Sun Liwen

Django-tastypie bunu yapmanın iyi bir yolu, sloganı: "2010'dan beri Django uygulamaları için lezzetli API'ler oluşturmak" oldukça rahatlatıcı;)

9
guerrerocarlos

Django uygulamalarınıza JSON ile REST API eklemek için hafif bir çerçeve olan Django-dynamicresponse 'ye bakabilirsiniz.

Mevcut Django uygulamalarına API desteği eklemek için minimum değişiklik yapılması gerekir ve yeni projelerdeki başlangıcından itibaren yerleşik API'yi doğrudan ileriye götürür.

Temel olarak, JSON'un istek üzerine ayrıştırılması için ara katman desteği içerir.

Bu yaklaşım, API istekleri için ayrı işleyiciler oluşturmanız gerekmediğinden, diğer çerçevelerden (Django-piston gibi) farklıdır. Ayrıca mevcut görünüm mantığınızı yeniden kullanabilir ve normal görünümler gibi form doğrulama vb. Kullanmaya devam edebilirsiniz.

5
chrismi

Bu proje sizin için yararlı olabilir mi bilmiyorum, ancak bir link göndermek çok acı verebilir. http://opensource.washingtontimes.com/projects/Django-apibuilder/ adresinde bulunan Django-apibuilder'a bakınız. Belki de faydalı olabilir?

/ Jesper

4
Jesper Mortensen

Şuna bir göz atın RestifyDjango .

Biraz ilgili Django XML-RPC ve JSON-RPC .

0
Soviut

https://github.com/RueLaLa/savory-pie

Savory Pie, Django'yu destekleyen bir REST çerçevesidir.

0
Mike Milkin

Django Rest Framework'e (DRF) göz atmanızı, bununla uğraşmanızı ve gereksinimlerinize uygun olup olmadığını görmenizi öneririm. DRF'yi önerme nedenim, GenericAPIView sınıfları, Mixin Sınıfları ve Genel görünümlerde Karışık kullanımıyla API görünümlerini gerçekten basit hale getirmesidir. API uç noktalarınızı yapmak ve kod tabanınızı düzenli ve öz tutmak için denenmiş ve test edilmiş tasarım modellerinden kolayca yararlanabilirsiniz. Ayrıca her zaman harika olan kodunuzu yazarken DRY. API görünümleriniz tam anlamıyla 2-3 satırdır.

Ortamınızı ayarlamaktan başlayarak Django'yu kullanarak RESTful API'nizi yapmak için farklı yöntemlerden geçmeye başlayan bu öğreticiyi http://programmathics.com/programming/python/Django-rest-framework-setup/ / dinlenme çerçevesi.

Yasal Uyarı: Ben bu web sitesinin yaratıcısı benim.

0
SeekingAlpha