flask登录注册页面
时间: 2023-08-12 14:24:49 浏览: 42
好的,下面是一个简单的 Flask 登录注册页面的示例代码:
```python
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
# 假设这里有一个用户列表,用于存储已注册用户的信息
users = []
@app.route('/')
def index():
return 'Welcome to the login/register page!'
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
# 获取用户提交的登录信息
username = request.form['username']
password = request.form['password']
# 遍历用户列表,检查是否有匹配的用户信息
for user in users:
if user['username'] == username and user['password'] == password:
# 如果匹配成功,跳转到欢迎页面
return redirect(url_for('welcome', username=username))
# 如果匹配失败,返回错误信息
error = 'Invalid username or password'
return render_template('login.html', error=error)
else:
# 如果是 GET 请求,返回登录页面
return render_template('login.html')
@app.route('/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
# 获取用户提交的注册信息
username = request.form['username']
password = request.form['password']
# 检查用户名是否已存在
for user in users:
if user['username'] == username:
error = 'Username already exists'
return render_template('register.html', error=error)
# 如果用户名不存在,添加新用户到用户列表
user = {'username': username, 'password': password}
users.append(user)
# 跳转到欢迎页面
return redirect(url_for('welcome', username=username))
else:
# 如果是 GET 请求,返回注册页面
return render_template('register.html')
@app.route('/welcome/<username>')
def welcome(username):
return render_template('welcome.html', username=username)
if __name__ == '__main__':
app.run(debug=True)
```
这个示例代码使用了 Flask 的模板引擎,分别定义了三个路由:首页、登录页面和注册页面。其中,登录和注册页面都支持 GET 和 POST 请求,用于处理用户提交的登录和注册信息。在用户提交登录或注册信息后,服务器会检查用户名和密码是否匹配,并根据匹配结果进行相应的跳转或返回错误信息。如果用户名和密码匹配成功,服务器会跳转到欢迎页面,向用户展示欢迎信息。