- 这是高校食堂餐饮管理系统。
- 技术栈:
- 前端:原生 HTML、CSS、JavaScript
- 后端:Python Flask 框架
- 数据库:SQL Server
- 功能:
- 用户登录与注册功能。其中,用户包括管理员与学生两类。
- 管理员具有管理菜品、食材、窗口与供应商,管理学生信息,以及数据分析的权限。
- 学生具有点餐、账单查询、学生卡充值、登录密码修改的权限。
说明:启用本项目前,需要确保 SQL Server 与 Python 环境被正确配置。
注意,这份项目是基于 SQL Server 的 Windows 身份验证连接(免密连接)实现的。如果数据库的连接需要身份验证,请自行修改命令行,以及 config.py 与 database.py 中的文件配置信息。其基本格式如下:
# config.py
DB_CONFIG = {
'driver': '{ODBC Driver 17 for SQL Server}',
'server': 'localhost',
'database': f'{DB_NAME}',
'user': username,
'password': password
}# database.py
connection = pyodbc.connect(
f"DRIVER={DB_CONFIG['driver']};"
f"SERVER={DB_CONFIG['server']};"
f"DATABASE={DB_CONFIG['database']};"
f"UID={DB_CONFIG['user']};"
f"PWD={DB_CONFIG['password']}"
)- 开启数据库服务(Windows 11 24H2 +):
sudo sc start MSSQLSERVER- 建立名为 DiningManagementSystem 的空数据库:
sqlcmd -S localhost -Q "CREATE DATABASE DiningManagementSystem"加密连接:
sqlcmd -S localhost -U username -P password -Q "CREATE DATABASE DiningManagementSystem"
- 安装所需的 Python 三方库:
pip install -r requirements.txt- 使用 initial_db.py 对数据库一键初始化:
python -m initdatabase.initial_db- 运行 app.py 以开启服务:
python app.py- 在浏览器中访问以下网址,即可进入项目页面:
http://127.0.0.1:8080
如果遇到端口占用的情况,请前往 app.py 修改 app.run 方法中的端口值
- 管理员的账号为 root,密码为 admin,无法通过该管理系统更改,但可以从 config.py 中修改以下默认值:
ADMIN_ID = "root"
ADMIN_PASSWORD = "admin"注意,这里的默认值修改后,页面中表单输入框内的 placeholder 值并不会改变。如果需要同步设置,请前往 templates/login.html 文件中自行修改
- 学生的初始账号密码请前往 initdatabase/initial_db.py 中查看。
- 在database文件夹中存在一个 checkreference.sql 文件,这是数据库触发器的设置文件,在初始化时并未被执行,也不建议执行。
- 由于一定的限制,在实现部分的“添加信息”、“信息一键修改”等功能后,需要刷新浏览器页面,才可以使其他页面中的新信息被渲染出来。
- 该项目为课程设计成果,仅以实现基础功能为目的。其中包含许多不完善的地方,如未实现响应式、部分函数实现方法冗余、后端对数据校验并不完善、页面可能遭受XSS攻击等问题,在此不做进一步修改。