2010-12-04 25 views
1

J'essaie de créer une fonction qui vérifie si l'utilisateur est connecté. J'ai placé la fonction en dehors de la classe de page principale et elle ne donne aucune erreur jusqu'à ce que j'essaie de l'utiliser insie le def get (self) dans la classe MainPage. La fonction ressemble à ceci:Utiliser des fonctions selfmade dans Google App Engine

def LoginCheck(): 
username = self.request.cookies.get('username') 
password = self.request.cookies.get('password') 
if username and password: 
    checkq = db.GqlQuery("SELECT * FROM Users WHERE username = :1 AND password = :2", username, password) 
    checkresult = checkq.get() 
    if checkresult is None: 
     self.redirect("/wrong") 
else: 
    self.redirect("/wrong2") 

et Lorsque je tente de l'utiliser, il retourne:

line 14, in LoginCheck 
    username = self.request.cookies.get('username') 
NameError: global name 'self' is not defined 

Qu'est-ce que je fais mal?

Répondre

5

Vous devrez ajouter "self" à votre définition de fonction. Voir section 9.3.2 of python's tutorial.

def LoginCheck(self): 
    username = self.request.cookies.get('username') 
    password = self.request.cookies.get('password') 
    if username and password: 
     checkq = db.GqlQuery("SELECT * FROM Users WHERE username = :1 AND password = :2", username, password) 
     checkresult = checkq.get() 
     if checkresult is None: 
      self.redirect("/wrong") 
    else: 
     self.redirect("/wrong2") 
+1

Cela a fonctionné, merci. – Kraffs