2012-06-30 36 views
0

我有这个基本的usermodel:AppEngine上创建一个新用户

class Song(db.Model): 
    title = db.StringProperty() 
    lyrics = db.TextProperty() 
    singer = db.StringProperty() 

class UserProfile(db.Model): 
    user = db.UserProperty() 
    song = db.ReferenceProperty(Song) 

在谷歌的AppEngine API给我的当前用户:

user = users.get_current_user() 

登录/注销URL可以使用组成:

users.create_login_url("/")) 

我如何确定用户是否注册到我的应用程序,如果他已注册然后获取对应于他的数据,如果他没有注册创建一个新的用户对象。 这将为他提供创建/编辑歌曲的功能。

回答

0
user = users.get_current_user() 
if user: 
    # user is logged in, see if a profile exists ... 
    profile = UserProfile.gql('WHERE user = :1', user).get() 
    if not profile: 
    # no profile exists - create it 
    profile = UserProfile(user=user) 
    profile.put() 
    # do something with profile 
else: 
    # rediect to login 
    self.redirect(users.create_login_url("/")))