1

我对 GAE 有点陌生,所以我想问一下,你如何为博客这样微不足道的东西创建用户模型。

所以,到目前为止,这就是我所得到的:

class User(db.Model):  # Todo create a user model, that works with your login page
    username = db.UserProperty()
    password = db.StringProperty()

但这看起来很原始。如何在谷歌应用引擎中创建一个用户,就像最佳实践一样,创建这样一个独特性是重要因素的领域。此外,您如何将用户链接到博客文章,因为谷歌数据存储中不允许链接。最后是否有一个应用程序可以管理您的所有迁移?像 GAE 的南方?似乎有一种迁移方法,但它涉及大量样板代码

另外,我来自 django 背景,所以我发现这一切有点违反直觉,因为这不是关系数据库。

4

1 回答 1

2

您的User课程现在很好,您可以在开发过程中根据需要向模型添加字段。但是你应该使用ndb而不是db. ndb处理更多功能(如自动缓存)。您可以在文档中找到更多详细信息。

如果您想学习更高级的用户或数据存储模型,您可以查看gae-boilerplate已经处理用户登录和注册(甚至来自 facebook/twitter/...)的 。自述文件有很好的记录: https ://github.com/coto/gae-boilerplate

您可以在模型中实现某种关系,方法是使用 aKeyProperty()或在创建父实体时设置父实体。例如 :

class BlogPost(ndb.Model):
    title = ndb.StringProperty()
    content = ndb.TextProperty()
    timestamp = ndb.DateTimeProperty(auto_add_now=True)

# Then you can specify a parent in the constructor (where user is a User entity)
blog_post = BlogPost(parent=user)
blog_post.title = 'Post title'
blog_post.content = 'Post content'
blog_post.put()

然后使用祖先查询来检索用户发布的所有博客文章。

于 2013-06-23T13:12:05.287 回答