请用sqlite3,flask和python写一个数据库信息管理系统
时间: 2024-02-13 10:04:03 浏览: 177
基于flask的数据库管理系统
5星 · 资源好评率100%
好的,下面是一个简单的数据库信息管理系统的 Python 代码,使用 Flask 和 SQLite3 数据库。
```python
from flask import Flask, render_template, request
import sqlite3
app = Flask(__name__)
# 创建数据库
conn = sqlite3.connect('database.db')
print("Opened database successfully")
# 创建数据表
conn.execute('CREATE TABLE IF NOT EXISTS students (name TEXT, email TEXT, address TEXT)')
print("Table created successfully")
conn.close()
@app.route('/')
def home():
return render_template('home.html')
# 添加学生信息
@app.route('/add')
def add():
return render_template('add.html')
@app.route('/addrecord', methods=['POST'])
def addrecord():
if request.method == 'POST':
try:
name = request.form['name']
email = request.form['email']
address = request.form['address']
# 插入数据
with sqlite3.connect("database.db") as con:
cur = con.cursor()
cur.execute("INSERT INTO students (name, email, address) VALUES (?, ?, ?)", (name, email, address))
con.commit()
msg = "Record successfully added"
except:
con.rollback()
msg = "Error occurred"
finally:
con.close()
return render_template("result.html", msg=msg)
# 显示学生信息
@app.route('/view')
def view():
con = sqlite3.connect("database.db")
con.row_factory = sqlite3.Row
cur = con.cursor()
cur.execute("SELECT * FROM students")
rows = cur.fetchall()
return render_template("view.html", rows=rows)
if __name__ == '__main__':
app.run(debug=True)
```
上面的代码中,`home()` 函数渲染了主页面,`add()` 函数渲染了添加页面,`addrecord()` 函数接受表单数据并将其插入到 SQLite3 数据库中,`view()` 函数从数据库中检索所有学生信息并将其显示在视图页面中。
需要注意的是,在实际开发中,需要对输入的数据进行验证和清理,以避免 SQL 注入等风险。
阅读全文