Google App Engine (Python) 的 Django Forms 替代方案

2 投票
2 回答
1104 浏览
提问于 2025-04-16 19:53

我在找一个可以替代Django表单的东西。

我需要一个能根据GAE模型自动生成表单的工具,就像Django那样。因为Django表单在GAE上有一些问题,所以我想换一个。

我找到了WTForms。你们觉得哪个更好呢?

2 个回答

0

我也在找这个问题的答案。现在我找到的唯一东西是WTForms。WTForms可以帮助把模型转换成表单。更具体一点,它里面有一个叫做model_form的东西,位于wtforms.appengine.ext.model_form。通过这个,你可以创建一个表单。

form_obj = model_form(ModelClass)

#validate with
form = form_obj(request.POST)
if form.validate()
    mc = ModelClass
    form.populate_obj(mc)
    mc.put()

不过,它不支持新的ndb模块。但是大部分功能只需要稍微改动一下代码就能用。希望这对你有帮助。

2

WTForms 是在 GAE 上一个不错的选择。它和 Django 的表单很相似。

另外需要注意的是,除了 ModelForms 和相关类型之外,django-forms 在 GAE 上也能很好地工作,几乎不需要额外设置。实际上,这也是 Django 能够在 GAE 上被支持的原因之一。

撰写回答