【问题标题】:MVC web framework that allows end users to define models at runtimeMVC Web 框架,允许最终用户在运行时定义模型
【发布时间】:2013-09-13 19:45:56
【问题描述】:

这似乎可以是hacked into Django,但我更喜欢对最终用户定义模型有更好支持的框架。

基本上,我希望我的应用程序/网站的用户能够在应用程序运行时执行我在编写模型代码时在编译时执行的操作:指定生成/修改数据库架构的模型。显然我不能让webApp的用户修改models.py中的代码,所以必须有另一种方式。并发应该不是问题,因为每个用户定义的模型只属于一个用户。

我不介意使用任何编程语言(Python、Haskell、JavaScript 等)或任何特定的数据库 SQL、NoSQL 等等。 Rails/Django 将我从编写大量重复代码中解放出来,现在我只想要在运行时修改模型的功能(最好是相应的视图和控制器)。如果有一个很好的框架可以让我免于编写所有代码,那么我会使用它。

如果没有原生支持它的框架,有人知道至少可以让它变得简单的框架吗?

【问题讨论】:

  • “最终用户定义的模型”是什么意思? AFAIK,在 MVC 中,模型是一个层,而不是一个类或实例。
  • 我希望我的最终用户(在浏览器中单击鼠标的人)能够定义新模型。基本上链接到的问题在问什么,但我并不专注于 Django。
  • 你们明白我的问题吗?否则请询问,我会尽力澄清。

标签: ruby-on-rails node.js model-view-controller pylons web-frameworks


【解决方案1】:

Portofino 版本 3 (http://www.manydesigns.com/en/portofino/portofino3) 允许建模用户使用称为“楼上级别”的 Web 界面以交互方式创建数据模型。系统根据模型定义自动生成用户界面(CRUD、图表、工作流),无需重新编译,并且基本与模型更改实时同步。 您可以查看参考手册以了解支持的型号: http://www.manydesigns.com/en/portofino/portofino3/3_1_x/reference-manual

目前,Portofino 3 是一个报废版本。较新的版本 4 (http://www.manydesigns.com/en/portofino) 是一个重要的重写,目前不支持像版本 3 那样在线编辑数据模型,但保持使应用程序可编辑(通过管理/配置页面)和可定制的相同原则(使用 Groovy)在线无需重新编译或重新启动服务器。

对于数据模型更改和数据库重构,Portofino 4 依赖于 Liquibase: http://www.liquibase.org/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多