用python制作一个页面登录系统
时间: 2023-11-13 20:03:04 浏览: 60
好的,我可以为您提供一个简单的页面登录系统的Python代码示例。首先,您需要安装Flask和SQLite模块。
以下是示例代码:
```python
from flask import Flask, render_template, request, redirect, url_for, session
import sqlite3
app = Flask(__name__)
app.secret_key = "secret_key"
conn = sqlite3.connect('users.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS users
(id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT,
password TEXT)''')
@app.route('/')
def home():
if 'username' in session:
username = session['username']
return render_template('home.html', username=username)
else:
return redirect(url_for('login'))
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
c.execute("SELECT * FROM users WHERE username=? AND password=?", (username, password))
if c.fetchone():
session['username'] = username
return redirect(url_for('home'))
else:
error = 'Invalid Login'
return render_template('login.html', error=error)
else:
return render_template('login.html')
@app.route('/logout')
def logout():
session.pop('username', None)
return redirect(url_for('login'))
if __name__ == '__main__':
app.run(debug=True)
```
此代码包含了一个简单的登录页面。当用户输入用户名和密码并提交表单时,代码将从SQLite数据库中检索相关的用户信息。如果用户名和密码匹配,则用户将被重定向到主页,并存储登录状态的session数据。如果用户名和密码不匹配,则用户将在登录页面上看到错误消息。
请注意,此代码仅用于演示目的,您在实际生产环境中的实施会因为考虑安全性和其他因素而有所不同。