我有一个小注册页面,我正在尝试开始工作。基本上你提供你的用户名、密码和电子邮件,然后如果你输入的用户名不存在,那么它会将你重定向到一个欢迎页面,上面写着“欢迎(这里的用户名)!”。如果用户确实存在,那么它会重新呈现注册页面。问题是,即使用户不存在,它也会不断重新呈现注册页面。我没有错误。检查用户是否存在的函数“getByName”不断返回true。任何人都可以看到这个问题吗?
这是调用“getByName”函数的代码。
if(username and password and verify and email):
if UserInfo.getByName(username) == True:
self.renderSignup()
else:
UserInfo.register(username, password, email)
cookieVal = str(encrypt.makeCookieHash(username))
self.response.headers.add_header("Set-Cookie", "username=%s; Path=/" % (cookieVal))
self.redirect("/welcome")
else:
self.renderSignup(username, email, usernameError, passwordError, verifyError, emailError)
这是包含“getByName”函数以及其他函数的“UserInfo”数据模型。
class UserInfo(db.Model):
passwordHash = db.StringProperty(required = True)
email = db.StringProperty(required = True)
username = db.StringProperty(required = True)
@classmethod
def register(cls, name, password, email):
encrypt = Encrypt()
pwHash = encrypt.hashUserInfo(name, password)
UserInfo(passwordHash = pwHash, email = email, username = name).put()
@classmethod
def getByName(cls,name):
usersWithName = UserInfo.gql("where username = :1", name)
if usersWithName != None:
return True
return False