ndb模型与WTForms的兼容性

时间:2012-06-28 22:05:53

标签: google-app-engine webapp2 wtforms app-engine-ndb

Tech Stack: ndb模型 WTForms webapp2 我正在尝试使用WTForms扩展来增加数据库模型。

我有一个简单的数据库架构:

class Autho(ndb.Models):
    name = db.StringProperty()

class Notes(ndb.Model):
    title = db.StringProperty()
    author = db.KeyProperty()

然后根据文档在处理程序中形成一个简单的表单定义WTForms:

from wtforms.ext.appengine.db import model_form

def get(self, slug):
        form = model_form(Author)()
        self.render_template('form.html', {'form': form})

这会引发属性错误行411 here props = model.properties()

如果可以修复,请告诉我。

2 个答案:

答案 0 :(得分:2)

我从未使用过WTForms,但它似乎与NDB不兼容 - “model.properties()”是一个旧的数据库习惯用语。也许WTForms作者会考虑添加对NBD的支持吗?

答案 1 :(得分:1)

检查出来:https://github.com/coto/gae-boilerplate
它是一个ndb样板文件,其中包含一个基本(对我来说不是那么基本)的用户身份验证实现,它接受联合登录。它彻底使用WTForms。创建它的人可以很好地访问,并且不断维护和更新样板。值得一看,它对基本模式有很大帮助。