SQLObject/SQLAlchemy项目的Web展示框架

1 投票
3 回答
556 浏览
提问于 2025-04-17 02:30

我想找到一种优雅的方法,把一个基于 SQLObject 或 SQLAlchemy 的非网页项目,和一个不错的网页框架结合起来。

我看过 Turbogears,虽然它看起来可以用,但模型似乎必须在 Turbogears 框架内部定义。我希望核心功能(模型、代码)和展示层(Turbogears,或者其他的)能够分开。

我需要一个可以从我现有代码中提取模型,并且帮助展示数据的工具,最好不要太麻烦。

3 个回答

0

其实在Turbogears中,有个简单的方法可以做到这一点。把表重新绑定到现有的SQLAlchemy模型上,设置autoload为true是没有问题的,就像这里所示的那样。而且把你的方法和代码放到控制器或模型里也并不是那么麻烦,这样你就能充分利用Turbogears的强大功能。实际上,你还可以在config/app_cfg.py中加入类似下面的代码:

from mycode import mymethod
base_config.call_on_startup = [mymethod]
1

大多数网页框架都想成为你所有网页应用需求的一站式解决方案,它们之间的紧密程度各有不同。话虽如此,Python就是Python,网页框架并不能阻止你以自己的方式使用它。你只需要选择一个适合你需求的框架,然后在需要的地方使用你现有的库。

如果想要更具体的答案,就需要提出更具体的问题,比如:

“我想在Z框架中用我现有的Y来做X,我尝试时出现了这个错误:[错误信息在这里]

3

对于这种情况,你可以看看Pyramid。它非常灵活,不会强制你使用特定的组件(比如模板、数据库引擎等等)。你可以选择使用SqlObject或SqlAlchemy,具体怎么配置完全取决于你的需求。幸运的是,它的文档也写得非常清楚。

还有一些Pyramid的示例,可以帮助你设置SqlAlchemy。此外,还有几个基于Pyramid的框架,它们提供了一些预设的默认配置,包括SqlAlchemy:AkhetKufu

撰写回答