2012-01-27 65 views
0

我正在构建一个小型Web服务。为了展示该服务可以做什么,我将构建一个轻量级界面。我很难弄清楚我的REST API和常规Django视图如何在一起很好地发挥作用。在同一个项目中通过django视图访问Django-piston REST API

这里是我的设置:

使用Django活塞建立一个简单的CRUD REST的Web服务。
使用Django视图与httplib2 GET/POST到/从该Web服务。
两者都从同一个Django项目(以及相同的Web服务器)运行。

现在我有简单的阅读REST服务在浏览器中工作。但是当我尝试从Django视图使用httplib2时,请求只是挂起。

我的问题:
-Am我想这是对的吗?
- 是否有更好的方法来完成这个?
- 我的REST Web服务应该是不同于我的REST接口的项目(和Web服务器)吗?

任何帮助将不胜感激!

+0

我的猜测是它会阻塞,因为它会在运行当前请求处理程序的同一线程上向您的API发送另一个请求。我会直接调用实现您的API的代码,而不通过HTTP。 – akonsu 2012-01-27 04:52:02

回答

1

通常,我会通过单元测试演示一个API,而不是实时视图,但可以看到这可能不是您需要的。

因此(根据上面的akonsu的评论),如果你遇到这个问题本地dev,它是单线程的devserver阻止API在执行视图时运行。

您是否尝试过多线程版本的runserver?像this one?

+0

谢谢。多线程runserver解决了这个问题。 – tabdon 2012-01-28 02:17:39