使用pywebio实现用户注册登录
时间: 2023-06-02 20:01:50 浏览: 157
以下是一个基本的示例代码,展示如何使用PyWebIO实现用户注册和登录的功能。
```python
from pywebio.input import *
from pywebio.output import *
from pywebio.session import *
import hashlib
# 示例使用内存存储用户信息,实际使用时请使用数据库等持久化存储
users = {}
def register():
"""用户注册"""
while True:
username = input("请输入用户名:", required=True)
if username in users:
toast("用户名已存在,请重新输入")
else:
break
password = input("请输入密码:", password=True, required=True)
password2 = input("请再次输入密码:", password=True, required=True)
if password != password2:
toast("两次输入的密码不一致,请重新输入")
return
# 对密码进行哈希加密存储
users[username] = hashlib.sha256(password.encode('utf-8')).hexdigest()
toast("注册成功,请登录")
def login():
"""用户登录"""
username = input("请输入用户名:", required=True)
password = input("请输入密码:", password=True, required=True)
if username not in users or users[username] != hashlib.sha256(password.encode('utf-8')).hexdigest():
toast("用户名或密码错误,请重新输入")
return
toast("登录成功")
def main():
"""主函数"""
while True:
action = actions("请选择操作", ["注册", "登录"])
if action == "注册":
register()
elif action == "登录":
login()
if __name__ == '__main__':
start_server(main, debug=True)
```
在浏览器中运行该代码后,用户可以在页面上选择注册或登录操作。对于注册操作,用户需要输入用户名和密码,并再次输入密码进行确认。对于登录操作,用户需要输入已注册的用户名和密码。如果用户名或密码错误,页面将显示错误提示信息。如果用户名和密码均正确,页面将显示登录成功提示信息。