TypeError:“NoneType”对象没有属性“\uu getitem\uuu”

2024-04-25 23:16:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我在这里遇到的问题是,每当我尝试将数据输入到用户名输入框(self.KUEntry.get())并在查询中运行来自该框的输入时,它都会返回none并抛出问题中列出的错误。你知道吗

该函数应该检查注册用户存储的salt和hash,并将其与他们在输入框中键入的密码进行比较。你知道吗

def login_verification(self):

    username = self.KUEntry.get()
    print username

    cursor1.execute = ("SELECT salt FROM User WHERE username = (%s)", username)
    salty = cursor1.fetchone() [0]
    print salty

    cursor2.execute = ("SELECT PashHash FROM User WHERE username = %s", (username))
    hashy = cursor2.fetchone() [0]
    print hashy

    test = hashlib.sha512(username + salty).hexdigest
    print test

    if test == hashy:
        self.mainscreen
    else:
        print "incorrect password"

Tags: fromtestselfexecutegetusernameselectsalt
1条回答
网友
1楼 · 发布于 2024-04-25 23:16:14

这样放置代码可以修复回溯错误,但它不会返回预期的结果。它们返回“none”,而不是返回查询结果的cursor1.fetchone和cursor2.fetchone方法。你知道吗

def login_verification(self):

    username = self.KUEntry.get()
    print username

    cursor1.execute = ("SELECT salt FROM User WHERE username = %s", str(username))
    salty = str(cursor1.fetchone())
    print salty

    cursor2.execute = ("SELECT PashHash FROM User WHERE username = %s", str(username))
    hashy = str(cursor2.fetchone())
    print hashy

    test = hashlib.sha512(username + str(salty)).hexdigest
    print test

    if test == hashy:
        self.mainscreen
    else:
        print "incorrect password"

相关问题 更多 >