请利用flask框架生成一段登录注册的python代码
时间: 2023-04-05 09:00:37 浏览: 51
以下是使用 Flask 框架生成的登录注册 Python 代码:
```python
from flask import Flask, render_template, request, redirect, url_for, session
import hashlib
app = Flask(__name__)
app.secret_key = 'your_secret_key'
users = {
'user1': {
'username': 'user1',
'password': hashlib.sha256('password1'.encode()).hexdigest()
},
'user2': {
'username': 'user2',
'password': hashlib.sha256('password2'.encode()).hexdigest()
}
}
@app.route('/')
def index():
if 'username' in session:
return f'Hello, {session["username"]}!'
else:
return redirect(url_for('login'))
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = hashlib.sha256(request.form['password'].encode()).hexdigest()
if username in users and users[username]['password'] == password:
session['username'] = username
return redirect(url_for('index'))
else:
return render_template('login.html', error='Invalid username or password')
else:
return render_template('login.html')
@app.route('/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
username = request.form['username']
password = hashlib.sha256(request.form['password'].encode()).hexdigest()
if username in users:
return render_template('register.html', error='Username already exists')
else:
users[username] = {
'username': username,
'password': password
}
session['username'] = username
return redirect(url_for('index'))
else:
return render_template('register.html')
```
以上代码实现了基本的登录注册功能,使用了 Flask 的 session 和模板引擎。用户信息存储在一个字典中,密码使用 SHA-256 哈希算法加密。登录时检查用户名和密码是否匹配,注册时检查用户名是否已存在。
相关推荐


















