flask登录注册页面
时间: 2023-10-22 20:08:45 浏览: 38
好的,下面是一个简单的 Flask 登录注册页面的示例代码,你可以参考下面的代码:
```python
from flask import Flask, render_template, request, redirect, url_for, session
app = Flask(__name__)
app.secret_key = 'your_secret_key'
# 用户信息,用于模拟数据库
users = {'admin': 'admin', 'test': 'test'}
# 登录页面
@app.route('/', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
if username in users and users[username] == password:
session['username'] = username
return redirect(url_for('index'))
else:
return render_template('login.html', error='用户名或密码错误')
else:
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']
if username in users:
return render_template('register.html', error='用户名已存在')
else:
users[username] = password
return redirect(url_for('login'))
else:
return render_template('register.html')
# 首页
@app.route('/index')
def index():
if 'username' in session:
return render_template('index.html', username=session['username'])
else:
return redirect(url_for('login'))
# 退出登录
@app.route('/logout')
def logout():
session.pop('username', None)
return redirect(url_for('login'))
if __name__ == '__main__':
app.run()
```
在上面的代码中,我们使用了 Flask 提供的 `session` 功能来保存用户登录状态,使用了简单的字典来模拟数据库保存用户信息。登录和注册页面都使用了 HTML 模板来实现,你可以在 `templates` 目录下创建 `login.html`、`register.html` 和 `index.html` 三个文件,并在代码中使用 `render_template` 函数来渲染这些模板。
注意,为了保证用户信息的安全,我们在代码中设置了一个 `secret_key`,你需要自己设置一个随机字符串作为这个密钥。同时,这个示例代码只是一个简单的示例,实际应用中你需要对用户输入进行验证和过滤,以防止 SQL 注入等攻击。