2012-06-30 2 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 Google дает мне текущего пользователя:

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("/"))) 
Смежные вопросы