在Google App Engine中使用自制功能

Kra*_*ffs 1 python google-app-engine function

我正在尝试创建一个检查用户是否已登录的函数.我已将该函数放在mainpage类之外,并且在我尝试使用它之前它没有给出任何错误,只需在MainPage类中使用def get(self) .该函数如下所示:

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")
Run Code Online (Sandbox Code Playgroud)

当我尝试使用它时,它返回:

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

我究竟做错了什么?

Chu*_*ang 5

您必须在函数定义中添加"self".请参阅python教程的9.3.2节.

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")
Run Code Online (Sandbox Code Playgroud)