在Django中实现REST网络服务的框架

22 投票
5 回答
17506 浏览
提问于 2025-04-15 20:40

我想为一个Django应用程序实现一个RESTful接口。这个应用主要是一个数据服务应用,接口现在主要是只读的。

我的问题是,哪些Django工具或框架最适合这个任务。

我看到有Django-rest和Django-piston这两个选择。还有一个选项是自己动手做一个。

这个问题在这里提过,但已经是两年前的事了。我想知道现在的情况是什么样的。

这个问题中,大约在2008年,大多数人投票表示不使用任何框架,只是创建Django视图,直接返回比如JSON格式的数据。(这个问题在2008年也在这里讨论过。)

在现在的环境下,什么选择最合理呢?

5 个回答

4

使用django-rest接口

这依然是正确的。

自己做一个其实很简单。每个REST的地址(URI)对应一个视图函数。每种REST方法(比如GET、POST、PUT、DELETE)在视图函数里都是一个简单的条件判断。

就这样。

9

因为这个问题在我用谷歌搜索时还是挺受欢迎的,所以我想加上这个替代方案:http://django-rest-framework.org/

我最初的感觉是,它很好地体现了这里描述的RESTful API设计原则:http://readthedocs.org/docs/restful-api-design/en/latest/

18

注意:这篇文章写的时候,django-piston 已经不再积极维护了。正如其他人提到的,可以考虑 tastypiedjango-rest-framework

确实,你可以自己动手做,但会涉及很多重复的工作。

django-piston 是一个非常简单易用且可扩展的小框架。除了可以快速搭建所需的视图和网址模式外,它还支持将模型直接映射到 REST 接口,这对于简单的使用场景来说非常方便。我建议你可以看看这个框架。

撰写回答