我正在使用python创建一个webserver +网站,我目前正在弄清楚如何检查你的登录值是否正确。以前用于测试我使用以下代码:
def checkUser(username, password): #<-- input values go in here
site_usernames = ["admin", "username1", "username2"]
site_passwords = ["admin", "password1", "password2"]
site_couples = {"admin":"admin", "username1":"password1", "username2":"password2"}
not_counter = 0
while True:
if username in site_usernames:
if password in site_passwords:
for key in site_couples:
if (username == key) and (password == site_couples[key]):
print("User %s logged in!" % username)
return True
else:
not_counter = not_counter + 1
if not_counter > 10:
print("User failed login with accountname: %s" % username)
return False
break
else:
continue
else:
pass_exists = False
break
else:
user_exists = False
break
据我所知,您不能将数据库中的两列作为字典返回。我设法将一列作为列表,我打算使用它。
所以在我的新代码中,我有以下内容:
数据库中的用户名列表
数据库中编码密码的列表
我想制作一个验证功能,检查是否:
问题在于我发现管理这样的事情非常困难。正如您在我的示例代码中看到的,我有两个列表和一个dict,都是预定义的。我想动态创建这些东西,而我唯一需要帮助的是如何创建用户名:密码字典情侣。我怎么做这样的事情? zip()
制作元组而不是字典。
答案 0 :(得分:1)
In [1]: users = ["user1", "user2"]
In [2]: pws = ["password", "12354"]
In [3]: dict(zip(users, pws))
Out[3]: {'user1': 'password', 'user2': '12354'}