我坚信后端和前端之间紧密耦合的邪恶思想:我想要在生成用户界面时自动使用关于后端的现有隐含知识。例如,如果一个VARCHAR列的最大长度为20个字符,那么图形用户界面应该自动限制用户在相关表单字段中键入超过20个字符。用于紧密DB/GUI耦合的Python Web应用程序框架?
而且我对ORM想要定义我的数据库表感到强烈的反感,或者是基于某些hack,因为ORM每个表都需要额外的数字ID列。
我已经看了一下Python数据库框架,我想我可以总结SQLAlchemy最适合我的心态。
现在,我需要找到一个Web应用程序框架,它自然适合SQLAlchemy(或等价的),甚至可能与我的耦合胃口。随着 “Web应用程序框架”,我的意思是产品/项目如Pyhons,Django的,TurboGears中,web2py会等
例如,它理论上应能:
- 自动选择合适的表单控件数据输入给定列如果被告知这样做;例如,如果列对于具有10个不同值的列具有外键,则窗口小部件应该显示10个可能的值作为下拉
- 自动生成javascript窗体验证代码这给出了最终用户快速错误反馈,如果串被输入到一个字段,它是关于在一个整数列,最终等
- 自动生成数据的日历插件这将在DATE列结束
- 暗示NOT NULL约束如JavaScript它在相关的输入字段中抱怨空的或空白的数据
- 产生相匹配相关的(简单)CHECK约束 JavaScript验证代码
- 使其易于避免SQL注入,通过使用准备的语句和/或从外部获得的数据的验证
- 使其易于避免跨站脚本通过自动跳脱传出字符串时适当
- 化妆使用约束名称的产生,以防constrataint违反有些用户友好的错误消息
所有这些都应该动态发生,因此表格调整会自动反映在前端 - 可能使用缓存机制,这样所有的模型内省都不会影响性能。换句话说,我不想在XML文件(或类似的)中重复我的模型定义,因为它已经在我的数据库中进行了仔细的定义。
这样的框架是否存在Python(或任何语言,就此而言)?如果不是的话:如果我自己添加部分上述功能,那么几个Python Web应用程序框架中的哪一个将是最少的?
Django与SQLAlchemy很好地玩吗?最后我听说,Django + SA分支已经垂死,原来的问题将SA指定为选择的ORM。 – 2008-12-08 05:23:55