Python表单处理替代方案

时间:2009-11-10 02:02:14

标签: python google-app-engine forms

django.forms非常好,并且几乎完全符合我当前项目的要求,但遗憾的是,Google App Engine使得Django的大部分内容无法使用,因此将其与应用程序一起打包似乎有点傻。

我还发现了FormAlchemy,它是一个类似于Django表单的SQLAlchemy模拟器,我打算完全探索它,但它与SQLAlchemy的关系表明它也可能给我带来一些麻烦。

我有没有考虑过python的HTML表单处理库?

4 个答案:

答案 0 :(得分:13)

我已经成长为爱WTForms,它简单,直接且非常灵活。它是我的django免费网络堆栈的一部分。

它完全是独立的,并且继承了django表单库的优点,而imho有更好的东西。

答案 1 :(得分:3)

我不确定你的意思是“让Django的其余部分无法使用”,尤其是“将它与应用程序一起打包”。你熟悉the docs吗?如果你只是按照他们的建议去做,即

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

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

不要django.forms和Django的其余部分为您工作(一旦您将应用程序上传到Google)?

正如文档也解释的那样,

  

Django版本1.0以后都没有   包含在SDK中。测试你的应用程序   更新版本的Django   电脑,你必须下载和   从Django安装Django   网站。

  

您无需添加更新版本   Django库到您的应用程序   。目录

即。你必须“打包”;它已经在Google的服务器上由Google提供给您的应用引擎应用。 (一些依赖于关系功能的第三方应用程序,特别是管理员,不起作用 - 但是你自己的Django应用程序,使用他的App Engine数据建模库编写,会很好! - 。)。

答案 2 :(得分:2)

您还可以查看formencode,它是通用的,以便您可以在GAE中使用它。

答案 3 :(得分:1)

您是否有更具体的理由不想使用django.forms?在几个项目中,我已经非常成功地使用了django的各个部分,而且没有任何问题。

顺便说一下,有几个补丁可以让django在app-engine中工作,虽然我假设你已经考虑并放弃了它们。