[背景下方] 我在后端用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框架来处理数据/控制app /等会很有意义。
经过一系列的研究后我决定使用Spine(在第一次阅读时,API对我来说最有意义,另外作者写了O'Reilly的书籍JavaScript Web Applications,所以有一个不错的参考)。
由于我已经在后端建模了数据,因此我想导出该配置并使用此功能自动创建Spine模型,以便他们录制的数据始终保持同步(这种方式)如果我更改后端模型,前端会在下一页加载时自动更改。
答案 0 :(得分:1)
看起来您正在考虑使用客户端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:)