用python帮我写个登录功能代码
时间: 2024-03-09 11:20:06 浏览: 21
好的,以下是一个简单的 Python 登录功能代码,需要用到 Python 的 Flask 框架和数据库库:
```python
from flask import Flask, render_template, request, redirect, session
import pymysql
app = Flask(__name__)
app.secret_key = 'your_secret_key' # 设置 Session 密钥
# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='your_password', db='your_database', charset='utf8')
@app.route('/')
def index():
if 'username' in session: # 如果 Session 中有用户名,则已登录
return render_template('welcome.html', username=session['username'])
else:
return redirect('/login')
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
cursor = db.cursor()
cursor.execute(f"SELECT * FROM users WHERE username='{username}' AND password='{password}'")
result = cursor.fetchone() # 获取查询结果的第一条记录
if result:
session['username'] = username # 将用户名存入 Session
return redirect('/')
else:
return render_template('login.html', error='用户名或密码错误')
else:
return render_template('login.html')
@app.route('/logout')
def logout():
session.clear() # 清除所有 Session 变量
return redirect('/')
if __name__ == '__main__':
app.run(debug=True)
```
上述代码实现了一个带有登录功能的网站,使用 Flask 框架搭建,使用 MySQL 数据库存储用户信息。登录时需要输入用户名和密码,如果查询到符合条件的用户记录则将用户名存入 Session 中,以便在后续操作中识别是否已登录。退出登录时清除 Session 变量即可。
注意,上述代码仅作示例用途,实际使用中需要根据需求进行修改和完善。比如,需要进行密码加密处理、添加注册功能等等。