本文将详细介绍如何利用Python Flask框架和MySQL数据库来创建一个研究生管理信息系统。该系统能够帮助学校管理部门更有效地管理研究生的相关数据,包括个人信息、课程选择、成绩记录等。
一、系统设计与实现
首先,我们需要设计数据库结构。以下是一个简单的用户表结构:
CREATE TABLE user (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(100) NOT NULL,
role ENUM('admin', 'student') NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;
接下来,我们使用Flask来创建后端服务。以下是一个简单的登录功能示例:
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/db_name'
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(100), nullable=False)
role = db.Column(db.Enum('admin', 'student'), nullable=False)
@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({'message': 'Login successful'}), 200
else:
return jsonify({'message': 'Invalid credentials'}), 401
二、用户手册
用户手册将详细介绍如何使用这个系统,包括管理员和学生的不同权限和操作指南。例如,管理员可以添加新的学生账户,而学生可以查看自己的课程选择情况。