1

[下面的背景] 我在后端的 Python 中用 SQLObject 建模了我的数据。现在我正在将 SQLObject 转换为 dict,并从 dict 中获取所有键,然后将其导出为 JSON 文档(所以只是一个 JavaScript 数组)。我打算做类似的事情:

Spine.Model.extend({
    fromList: function(name, list){
        var model = Spine.Model.setup(name, list);
        return model;
    }
});

这是一个好主意吗?Spine 是否已经提供此功能?这是扩展 Spine.Model 类的最佳方式吗?

背景:

所以。我有一个 Python 应用程序,我一直在使用 Flask 从 GUI 应用程序移植到 Web 应用程序。

我已经到了我正在做视图部分的地步,并意识到使用 JavaScript 框架来操作数据/控制应用程序/等会很有意义。

经过大量研究后,我选择了 Spine(API 在第一次阅读时对我来说是最有意义的,加上作者写了 O'Reilly 的书 JavaScript Web Applications 所以有一个不错的参考)。

由于我已经在后端建模了我的数据,我想导出该配置并使用它自动创建 Spine 模型,以便它们记录的数据始终保持同步(如果我改变了这种方式我的后端模型,前端会在下一页加载时自动更改)。

4

1 回答 1

1

看起来您正在考虑使用基于数据库中的模型的客户端 JavaScript 动态创建模型,其中 python 字典 -> JSON 作为两者之间的链接表示。

这听起来很复杂,我真的没有答案。它甚至可能是不必要的复杂:),但这由你决定。但是,我确实有替代解决方案。

为什么不从 Python 动态生成 Spine 模型而只提供静态文件呢?然后,您所要做的就是编写一个 Python 程序,以 JavaScript 或 CoffeeScript 输出脊柱模型的有效代码(如果模型经常更改或只是在开发过程中必要时,可能作为构建过程的一部分)。

同样,如果您没有大量模型,这可能会变得不必要地复杂,这些模型会定期更改以生成。即使这样,您可能只需要一个验证工具来验证您的后端数据在 Spine 中是否正确建模,并且只需手动编写所有代码。手动编码模型以包含他们需要的数据是相当容易的http://spinejs.com/docs/models

真的,在脊椎模型中设置实际的“数据”就像@configure "Contact", "first_name", "last_name"现在脊椎模型有一个名字和一个姓氏......

在你想出这个想法之前,请确保你没有戴上你的Complicator Gloves :)

于 2012-01-07T16:41:33.350 回答