学工管理系统




小明:嘿,小李!听说你最近在开发一个学生工作管理系统,能给我介绍一下吗?
小李:当然可以!这个系统主要用来帮助学校管理员更好地管理学生的课外活动信息。它包括用户登录、活动发布、报名统计等功能。
小明:听起来很实用!你是怎么开始的呢?
小李:首先,我设计了一个简单的数据库模型。我们使用SQLite作为数据库,表主要包括用户表(User)和活动表(Activity)。User表记录了学生的学号、姓名等基本信息;Activity表则存储活动名称、时间、地点等。
小明:那具体代码是什么样的?
小李:好的,这是创建这两个表的基本SQL语句:
CREATE TABLE User (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL UNIQUE,
password TEXT NOT NULL,
name TEXT NOT NULL
);
CREATE TABLE Activity (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
description TEXT,
time DATETIME,
location TEXT
);
小明:嗯,看起来清晰明了。然后呢?
小李:接下来是后端逻辑部分,我选择了Python语言,并用Flask框架构建API接口。比如,登录功能的实现:
from flask import Flask, request, jsonify
from werkzeug.security import generate_password_hash, check_password_hash
app = Flask(__name__)
@app.route('/login', methods=['POST'])
def login():
data = request.get_json()
user = User.query.filter_by(username=data['username']).first()
if user and check_password_hash(user.password, data['password']):
return jsonify({'message': 'Login successful'}), 200
else:
return jsonify({'message': 'Invalid credentials'}), 401
小明:非常棒!前端是如何连接这些API的?
小李:前端使用JavaScript通过Fetch API调用后端服务。例如,获取所有活动列表:
fetch('http://localhost:5000/activities')
.then(response => response.json())
.then(data => console.log(data));
小明:太酷了!这样学生就可以轻松查看并参与感兴趣的活动了。
小李:没错!整个系统还在不断完善中,未来计划加入更多个性化推荐和通知功能。
]]>