在Google App Engine中使用自定义函数
我正在尝试写一个函数,用来检查用户是否登录。我把这个函数放在了主页面类的外面,直到我在主页面类的get方法里使用它时,没有出现任何错误。这个函数长这样:
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
我哪里做错了呢?
1 个回答
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")