在GAE中填写请求中的对象

时间:2011-11-13 15:01:33

标签: python google-app-engine

我知道我可以使用django表单,但我正在寻找一种本地(gae api)方法来填充请求数据的对象。

类似的东西:

from google.appengine.ext import db

class MyModel(db.Model)
    prop1 = db.StringProperty()
    prop2 = db.StringProperty()

和请求处理程序

class Page(webapp.RequestHandler):

    def post(self):
        mymodel = MyModel(self.request)

提前致谢

2 个答案:

答案 0 :(得分:0)

你可以尝试这种方式对我有用:

mymodel = MyModel(prop1=self.request.get('prop1'))

如果a的表单包含如下字段

<input type="text" name="prop1"  />

我希望它适合你。

答案 1 :(得分:0)

您通常需要的是具有数据存储集成的表单库。我们曾经在2.5运行时提供一个,但它已经被弃用了2.7(默认情况下不提供)因为它有很多问题。其中最主要的是,您很少希望您的实体仅包含用户提交的内容,并且通常希望自己提供一些值。对大多数表单库执行此操作非常棘手,尤其是在您要转换或修改用户提供的字段时。

听起来很乏味,我建议使用像WTForms这样的标准表单库来处理和清理您的输入,并从处理过的数据中手动创建实体。