【问题标题】:Connecting django to a webservice instead of database将 django 连接到 Web 服务而不是数据库
【发布时间】:2012-08-17 18:56:27
【问题描述】:

我们希望将 django 数据库层替换为 Web 服务,并且希望尽可能顺利地完成此操作。基本上,django 将处理所有 HTTP 请求、会话、模板、身份验证等,而 web 服务将处理与数据库相关的所有内容。

您认为如何在不重做大部分现有代码的情况下做到这一点的最佳方式是?有没有人做过类似的事情?我认为由于 django 松耦合,这应该是可行的。

我们想要这样做的主要原因是因为我们的 java 开发人员比 django 开发人员多,所以我们正在考虑用 java 做 web 服务。这是迄今为止使用我们公司资源的最佳方式,问题是如何做到最好。该项目还很年轻,我们预计它的复杂性会增长很多,因此长期以这种方式拆分我们的开发人员对我们来说是最好的。

谢谢, 罗杰

【问题讨论】:

    标签: django web-services orm django-models django-views


    【解决方案1】:

    在我的公司,我们以完全解耦的方式专门使用 Django。我们的网络服务由 Pyramid + Cornice 提供支持,我们利用出色的 Python-Requests 库与我们的服务层进行交互。

    应用的身份验证和权限是通过 Authentic2 和 ADFS 使用我们开发的自定义后端完成的。

    因此,我们的应用程序中没有任何模型对象,但我们仍然可以利用 Django 表单和表单集的所有优点。

    我们的 Web 服务返回 JSON,因此我们可以非常简单地将键值对列表传递给模板,也可以将初始数据提供给表单等。这实际上与从 Django ORM 调用返回值或 values_lists 没有什么不同。

    据我所知,编写连接到 web 服务的 Django 模型类没有替代品。

    【讨论】:

      【解决方案2】:

      在看到你的帖子http://code.larlet.fr/django-roa/wiki/Home后,我才进入这个项目 似乎正是您正在寻找的东西。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多