在当今信息化社会,智慧校园平台成为了教育机构提升管理水平和教学质量的重要工具。本文将介绍如何利用Python语言和MySQL数据库来构建一个简单的智慧校园信息管理系统,旨在为学生、教师以及管理人员提供便捷的信息服务。
### 系统功能概述
该系统主要包括以下功能模块:

- 用户管理(注册、登录)
- 课程管理(添加、删除、修改课程信息)
- 成绩查询(根据学号或姓名查询成绩)
### 技术栈
- 后端:Python Flask框架
- 前端:HTML/CSS/JavaScript(简化的静态页面)
- 数据库:MySQL
### 数据库设计
首先,我们需要设计数据库结构。以下是几个核心表的设计示例:
CREATE DATABASE IF NOT EXISTS smart_campus;
USE smart_campus;
-- 用户表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
role ENUM('student', 'teacher', 'admin') DEFAULT 'student'
);
-- 课程表
CREATE TABLE courses (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
teacher_id INT,
FOREIGN KEY (teacher_id) REFERENCES users(id)
);
-- 成绩表
CREATE TABLE scores (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
course_id INT,
score DECIMAL(5, 2),
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (course_id) REFERENCES courses(id)
);
### Python Flask后端代码示例
下面是一个简单的Flask应用,用于处理用户登录请求:
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:password@localhost/smart_campus'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(50), unique=True, nullable=False)
password = db.Column(db.String(255), nullable=False)
role = db.Column(db.Enum('student', 'teacher', 'admin'), default='student')
@app.route('/login', methods=['POST'])
def login():
data = request.get_json()
user = User.query.filter_by(username=data['username']).first()
if user and user.password == data['password']:
return jsonify({'success': True, 'role': user.role})
else:
return jsonify({'success': False})
if __name__ == '__main__':
app.run(debug=True)
这只是一个基础示例,实际部署时需要考虑更多的安全措施和功能扩展。
]]>
