文章目录
- 一、演示
- 二、Flask基础
- 三、项目设计
- 3.1 数据库设计
- 3.2页面设计
- 3.3 涉及技术
- 3.4 页面截图
- 四、程序
- 4.1 主程序源码
- 4.2 完整源码
- 五、声明
一、演示
计算机作业:flask学生信息管理系统,前后端分离
更加详细青岛b站查看:学生信息管理系统
二、Flask基础
即使你对Flask不熟悉,希望你要掌握基础,才能修改和看懂一个项目,本专栏有讲解过Flask基础,这里便不说了,自己去看:
- 第一篇:环境搭建+配置+URL与试图之间的映射+重定向+数据库连接
- 第二篇:模板渲染+模板过滤使用+控制语句
三、项目设计
- 使用sqlite3数据库,原因:不需要配置,不需要安装和管理;不需要一个单独的服务器进程或操作的系统(无服务器的);一个完整的SQLite数据库存储在一个单一的跨平台的磁盘文件上
- 使用web框架Flask,原因:入门简单;轻量级框架(我也就学了一天)
3.1 数据库设计
构思比较简单,用一张表存储信息:
注:本人使用数据库可视化工具:navicat
3.2页面设计
把一个网站分为多个页面,这样便于管理,本人把所有页面分别设置如下几个功能:
- 添加学生信息
- 删除学生信息
- 具体信息删除
- 保存信息
- 首页
3.3 涉及技术
- python 基础
- Flask 框架
- sqlite3数据库增删改查基础
- HTML,CSS,JS前端三件套
相关技术不懂的自行查询资料,学起来很容易,学习方法很重要,Flask框架我也就学了一天,大学生拿出自己的智慧,要么就交税。
3.4 页面截图
首页:
添加学生:
删除学生:
查看学生信息:
四、程序
4.1 主程序源码
from flask import *
import sqlite3
app = Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
@app.route("/add_student")
def add_student():
return render_template("add_student.html")
@app.route("/saverecord",methods = ["POST","GET"])
def saveRecord():
msg = "msg"
if request.method == "POST":
try:
name = request.form["name"]
email = request.form["email"]
gender = request.form["gender"]
contact = request.form["contact"]
dob = request.form["dob"]
address = request.form["address"]
with sqlite3.connect("student_detials.db") as connection:
cursor = connection.cursor()
cursor.execute("INSERT into Student_Info (name, email, gender, contact, dob, address) values (?,?,?,?,?,?)",(name, email, gender, contact, dob, address))
connection.commit()
msg = "学生信息添加成功"
except:
connection.rollback()
msg = "不能把该学生信息添加到数据库"
finally:
return render_template("success_record.html",msg = msg)
connection.close()
@app.route("/delete_student")
def delete_student():
return render_template("delete_student.html")
@app.route("/student_info")
def student_info():
connection = sqlite3.connect("student_detials.db")
connection.row_factory = sqlite3.Row
cursor = connection.cursor()
cursor.execute("select * from Student_Info")
rows = cursor.fetchall()
return render_template("student_info.html",rows = rows)
@app.route("/deleterecord",methods = ["POST"])
def deleterecord():
id = request.form["id"]
with sqlite3.connect("student_detials.db") as connection:
cursor = connection.cursor()
cursor.execute("select * from Student_Info where id=?", (id,))
rows = cursor.fetchall()
if not rows == []:
cursor.execute("delete from Student_Info where id = ?",(id,))
msg = "学生信息成功删除"
return render_template("delete_record.html", msg=msg)
else:
msg = "该信息不能被删除"
return render_template("delete_record.html", msg=msg)
if __name__ == "__main__":
app.run(debug = True)
4.2 完整源码
文件比较多,就不放到付费资源了,可以通过以下方式添加我送你,或者以上b站评论区获取,放有获取方式。安装好相关模块,即可自己运行完整项目,这就是为什么选择使用sqlite3数据库,而不是mysql原因,不需要大家再去搭建数据库环境。
三连以上的视频,加我微信:hxgsrubxjogxeeag,备注:CSDN,否则不同意。给我看三连截图。
五、声明
本项目为个人的一个小作业,前路还长,且行且努力,加油!希望本项目的简单设计对你有所帮助,切勿直接抄袭提交作业。欢迎你与我交流。