2010-12-04 4 views
1

Я пытаюсь создать функцию, которая проверяет, вошел ли пользователь в систему. Я поместил функцию вне класса mainpage и не дал никаких ошибок, пока не попытаюсь использовать ее insie def get (self) в классе MainPage. Функция выглядит следующим образом:Использование самодельных функций в 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") 

и когда я пытаюсь использовать его возвращает:

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

Что я делаю неправильно?

ответ

5

Вам нужно будет добавить «self» к определению вашей функции. См. 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

Это сработало, спасибо. – Kraffs 2010-12-04 07:42:52

Смежные вопросы