我一直在努力选择使用Django创建RESTful API的方法。我尝试过的方法似乎都不是“银弹”。WAPI来自http://fi.am 可能是最接近我想要实现的,但是我不确定在真正的RESTful API中,将作为资源标识符的参数放在querystring中而不是“干净”的URL格式中是否可以接受。有没有关于修改WAPIs RestBinding.PATTERN以“清理”URL的建议?我探讨过的另一个选项是Django Rest接口。然而,这个框架似乎违反了我需要的最重要的一点,那就是包含完整的资源URL以引用其他资源(参见http://jacobian.org/writing/rest-worst-practices/ 链接使用不当)。最后一个选择是使用django multiresponse,基本上可以长期使用
请给我你最好的建议,尤其是那些处理过这个决定的人
对于Django来说,除了tastypie和活塞之外,Django rest框架是一个很有前途的框架,值得一提。我已经顺利地迁移了其中一个项目
Django REST框架是Django的一个轻量级REST框架
旨在使构建连接良好、自我描述的RESTful变得容易
Web API
快速示例:
来自django.conf.url.defaults导入模式的
,url
从djangorestframework.resources导入ModelResource
从djangorestframework.views导入列表或CreateModelView,InstanceModelView
从myapp.models导入MyModel
类MyResource(模型资源):
model=MyModel
urlpatterns=模式(“”,
url(r'^$',ListOrCreateModelView.as_视图(resource=MyResource)),
url(r'^(?P<;pk>;[^/]+)/$”,InstanceModelView.as_视图(resource=MyResource)),
)
以官方网站为例,以上所有代码都提供了api、自我解释的文档(如基于soap的webservice),甚至还提供了用于测试的沙箱。非常方便
链接:
http://django-rest-framework.org/