Python表单处理的替代方案

3

django.forms非常好用,几乎完全符合我在当前项目中的需求。但不幸的是,Google App Engine使得Django的大部分功能无法使用,因此将其与应用程序一起打包似乎有些愚蠢。

我还发现了FormAlchemy,它是一个类似于Django表单的SQLAlchemy库,我打算充分探索它,但它与SQLAlchemy的关系可能会给我带来一些麻烦。

是否有任何Python HTML表单处理库我没有考虑过?

4个回答

13

我已经喜欢上了WTForms,它简单、直接且非常灵活,是我在不使用django的web技术栈中的一部分。

WTForms是完全独立的,并继承了Django表单库的优点,在我的看法中,有些方面做得更好。


3
我不确定你所说的“使Django的大部分无法使用”和特别指出的“将其与应用程序打包”是什么意思。你是否熟悉文档?如果按照他们建议的做,即:
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

from google.appengine.dist import use_library
use_library('django', '1.1')

你上传应用到谷歌后,Django.forms和Django的其余部分不会为你工作吗?

正如文档所解释的那样,

Django 1.0及更高版本未包含在SDK中。如果要在计算机上使用更新版本的Django测试应用程序,则必须从Django网站下载并安装Django。

但是,

你不需要将较新的Django库添加到应用程序目录中。

也就是说,你不需要“打包它”;Google已经通过Google的服务器向你的应用引擎应用程序提供了它(一些依赖于关系特性的第三方应用程序,特别是管理员,无法工作 - 但是使用App Engine数据建模库编写的自己的Django应用程序将没有问题!)。


2
您还可以查看formencode,它是通用的,因此您可以将其适配到GAE中。

1

你不想使用django.forms有更具体的原因吗?我曾经在多个项目中成功地单独使用了Django的某些部分。

另外,有几个补丁可以使Django在App Engine上运行,但我想你已经考虑并放弃了它们。


我并不完全排斥 Django 表单,但我的需求很狭窄,因此如果我有其他选择,真的有必要好好考虑。如果没有任何解决方案比手动创建表单更简单,那我打算使用手工制作的表单。 - SingleNegationElimination

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接