【问题标题】:Turning a usual django website into a RESTful api将一个普通的 django 网站变成一个 RESTful api
【发布时间】:2012-12-11 03:49:18
【问题描述】:

我一直在努力。现在是几个月的网络项目。它是一个简单的网站,具有通常的 django 模型视图 url 和模板,使用 jquery 作为模板的简单 Ajax。

现在正在考虑是否有可能尽快提出申请。我正在考虑使用 Tastypie 为我的网站制作一个 RESTful api。所以这个想法是

  1. 使用 Tastypie 制作 RESTful api。
  2. 使用backbone.js 使我的网站成为一个单页应用程序
  3. 在我的 android 和 ios 应用程序中使用 plist 和 json。

我的担忧从这里开始,会采取这种新的行动。我必须再次充分利用我的网站吗?如果是这种情况,我是否应该停止处理我已经完成的工作,然后按照上述指南从头开始?再说一次,在 sweetpie 和backbone.js 的上下文中,我已经编写好的视图和模板逻辑会发生什么?

我一直在研究这个话题,但找不到明确的答案。所以想问问你们所有已经经历过或经历过同样转变的人。

我几乎没有接触过 RESTful API。但我更倾向于使用 RESTful 方法,因为它会使应用程序开发更容易。

PS。如果我没有得到反对票,我会非常感激,而是建议。

【问题讨论】:

    标签: django backbone.js tastypie


    【解决方案1】:

    您可以在在同一个站点/项目中并排试用。保留现有的 django 视图。在不同的 URL 下添加新的美味派,例如“/api/”。

    同样,单页应用?这只是现有模板旁边的一个新模板。暂时将其保留在“/single/”。并保留现有页面。

    实际功能可能会保持不变。从您现有的视图中提取有用的代码作为单独的函数,并从美味派和您的原始视图中调用它们。这甚至可能会使您现有的代码更清晰:-)

    【讨论】:

    • 这看起来确实是一种有趣的方法 :) 所以我仍然可以在网站处于更“传统”的形式时将其保持在测试版中,同时为我的备用 URL 方案工作sweetpie-bacbone.js,然后在不丢失任何用户群的情况下迁移到该文件。我确实有点了解美味派如何与通常的 Django 一起工作。但是我将如何在 Django 中添加backbone.js?你会碰巧知道任何可以引导我完成它的好的教程吗?
    • 保留它而不进行版本处理的风险是更改代码所带来的风险。如果你对它进行版本处理,你几乎不会冒两个项目相互感染的风险,如果它们这样做了,那么很容易回滚。
    【解决方案2】:

    我会说这是一个哲学问题。

    如果网站在截止日期或生产中我可能会把它放在 git 中并给它两个分支:

    • 生产分部
    • 重构分支

    这样做的好处是您可以保持旧站点正常运行并添加新功能并将其合并到您的重构分支中。

    然后,这在很大程度上取决于网站的复杂性和当前的运作方式。

    执行两个分支系统将为您提供在不丢失旧版本的情况下停止重构的选项。

    【讨论】:

    • 因此,从您的回答中,我认为它在设计方面将发生重大变化,因此几乎必须从头开始,对吗?而且我确实有点了解tastepie如何与通常的Django一起使用。但是我将如何在 Django 中添加backbone.js?你会碰巧知道任何可以指导我完成它的好教程吗?
    • 恐怕我没有任何好的向导。而且在不知道项目规模的情况下很难说什么。我最好的建议是拥有一个完整的产品,即使它并不完全令人满意。然后,您可以在重构产品的同时在整个产品中实现新功能。
    猜你喜欢
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    相关资源
    最近更新 更多