我坚信后端与前端之间紧密耦合的异端思想:我希望在生成用户界面时自动利用有关后端的现有隐式知识。例如,如果VARCHAR列的最大长度为20个字符,则GUI应该会自动限制用户在相关的表单字段中键入20个以上的字符。
我对要定义我的数据库表的ORM怀有强烈的反感,或者基于某种骇客,因为ORM,每个表都需要有额外的数字ID列。
我对Python数据库框架进行了一些研究,我认为可以得出结论,SQLAlchemy最适合我的想法。
现在,我需要找到一个Web应用程序框架,该框架自然适合SQLAlchemy(或等效版本),甚至适合我的耦合需求。“ Web应用程序框架”是指产品/项目,例如Pyhons,Django,TurboGears,web2py等。
例如,理想情况下,它应该能够:
如果被告知这样做,则自动为输入给定列的数据选择合适的表单小部件;例如,如果该列具有指向具有10个不同值的列的外键,则小部件应将10个可能的值显示为下拉列表
自动生成的javascript表单验证代码,如果将字符串输入到将要在INTEGER列中结束的字段中,则该代码将为最终用户提供快速错误反馈
自动生成日历小部件以获取将在DATE列中显示的数据
作为JavaScript的NOT NOT NULL约束,它会抱怨相关输入字段中的数据为空或仅包含空格
生成与相关(简单)CHECK约束匹配的javascript验证代码
通过使用准备好的语句和/或验证外部派生的数据,可以轻松地避免SQL注入
通过在适当的时候自动转义传出的字符串,从而轻松避免跨站点脚本编写
在违反约束的情况下,使用约束名称来生成一些用户友好的错误消息
所有这些都应该动态发生,因此表调整会自动反映在前端(可能使用缓存机制),以便所有模型自省都不会降低性能。换句话说,当数据库中已经仔细定义了模型定义时,我不想在XML文件中重复模型定义。
是否存在适用于Python(或任何语言)的框架?如果不是这样:如果我自己添加上述功能的一部分,那么几个Python Web应用程序框架中哪一个最不适合?
饮歌长啸
杨魅力
相关分类