Django和Restful API
我一直在努力select一种用Django创buildRESTful API的方法。 我所尝试的方法似乎都不是“银”子弹。 来自http://fi.am的 WAPI可能是最接近我想要完成的,但是我不确定在真正的RESTful API中是否可以接受资源标识符参数在查询string中而不是在“干净的”URL格式。 任何修改WAPI的RestBinding.PATTERNbuild议“清理”的url? 我探索的另一个select是Django的rest接口。 然而,这个框架似乎违反了我所需要的最重要的部分之一,那就是要包含整个资源的URL来引用其他资源(参见http://jacobian.org/writing/rest-worst-practices/链接)。 最后的select是使用django-multiresponse,基本上这样做很长。
请给我最好的build议,尤其是那些处理这个决定的人。
对Django来说,除了tasteypie和活塞之外,django-rest-framework是一个值得一提的有前景的框架。 我已经顺利地将其中的一个项目迁移了。
Django REST框架是Django的一个轻量级REST框架,旨在简化构build连接良好,自我描述的RESTful Web 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的web服务),甚至沙盒testing。 很方便。
链接: http : //django-rest-framework.org/
我相信最近发布的django-piston现在是在Django中创build适当的REST接口的最佳解决scheme。 django的活塞
注意 :django-piston似乎不再被维护(见下面的评论)
django-tastypie是一个很好的方法,他们的口号是:“自2010年以来为Django应用程序创build美味的API”非常令人欣慰;)
你可以看看django-dynamicresponse ,这是一个轻量级的框架,用于将JSON添加到Django应用程序中。
它只需要很less的修改就可以将API支持添加到现有的Django应用程序中,并且可以从新项目的开始直接转到内置API。
基本上,除了将返回的上下文序列化为JSON或基于请求types有条件地redirect模板之外,还包括将JSONparsing为request.POST的中间件支持。
这种方法与其他框架(如Django-piston)不同,因为您不需要为API请求创build单独的处理程序。 您也可以重用您现有的视图逻辑,并继续使用表单validation等常规视图。
我不知道这个项目对你是否有用,但发送链接几乎不会受到伤害。 看一下django-apibuilder,可以从http://opensource.washingtontimes.com/projects/django-apibuilder/下载; 。 也许它可能是有用的?
/加斯帕
看看这个RestifyDjango 。
有些相关的是Django的XML-RPC和JSON-RPC 。
https://github.com/RueLaLa/savory-pie
Savory Pie是一个支持django的REST框架。
我build议你看一下Django Rest Framework(DRF),看看它是否适合你的需求。 我推荐DRF的原因是因为通过使用GenericAPIView类,Mixin Classes和Mixed in Generic视图使得API视图变得非常简单。 您可以轻松地使用久经考验的devise模式来制作您的API端点,并保持您的代码基础简洁明了。 写代码总是很棒的,你也干。 您的API视图字面上是2-3行。
您可以结算本教程http://programmathics.com/programming/python/django-rest-framework-setup/ ,从设置您的环境开始,通过不同的方式使用django rest框架来创build您的RESTful API。
免责声明:我是该网站的创build者。