[背景如下] 我在后端用 Python 的 SQLObject 建模了数据。现在,我正在将 SQLObject 转换为字典,并从字典中获取所有键,然后将其导出为 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 应用程序。
我正在做 View 部分,并意识到使用 JavaScript 框架来操作数据/控制应用程序/等会很有意义。
经过大量研究后,我选择了 Spine(第一次阅读时,该 API 对我来说最有意义,而且作者写了 O'Reilly 的《JavaScript Web 应用程序》一书,因此有一个不错的引用)。
由于我已经在后端对数据进行了建模,因此我想导出该配置并使用它自动创建 Spine 模型,以便它们记录的数据始终保持同步(这样如果我更改后端模型,前端会在下一页加载时自动更改)。
最佳答案
看起来您正在考虑使用客户端 JavaScript 动态创建模型,该模型基于数据库中的模型,并使用 Python 字典 -> JSON 作为两者之间的链接表示。
这听起来很复杂,我真的没有答案。它甚至可能不必要地复杂:),但这由您决定。不过,我确实有一个替代解决方案。
为什么不从 Python 动态生成 Spine 模型并只提供静态文件?然后,您所要做的就是编写一个 Python 程序,用 JavaScript 或 CoffeeScript 输出脊柱模型的有效代码(如果模型在开发过程中经常更改或只是根据需要更改,则可能作为构建过程的一部分)。
同样,如果您没有大量需要定期更改的模型,这可能会变得不必要的复杂。即使如此,也许您所需要的只是一个验证工具,用于验证您的后端数据是否在 Spine 中正确建模,并且只需手动编写所有内容即可。对模型进行手动编码以包含所需的数据相当容易 http://spinejs.com/docs/models
实际上,在脊柱模型中设置实际的“数据”就像@configure“Contact”,“first_name”,“last_name”一样简单
现在脊柱模型有一个first_name和一个last_name ...
确保您没有戴上 Complicator Gloves ,在你提出这个想法之前:)
关于python - 好主意/扩展 Spine.Model 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8682585/