校友信息管理系统是用于管理和查询在校友信息的重要工具。本文将介绍如何使用Python语言开发这样一个系统,并结合具体代码进行说明。
系统设计
系统主要包含用户管理、信息录入、信息查询等功能模块。采用Flask框架进行后端开发,前端使用HTML/CSS/JavaScript。
数据库设计
使用SQLite作为数据库,定义了用户表(users)和校友信息表(alumni_info)。以下是创建表的部分SQL语句:
CREATE TABLE users (
id INTEGER PRIMARY KEY,
username TEXT NOT NULL,
password TEXT NOT NULL
);
CREATE TABLE alumni_info (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
gender TEXT,
graduation_year INTEGER,
email TEXT,
phone TEXT,
user_id INTEGER,
FOREIGN KEY(user_id) REFERENCES users(id)
);
核心功能代码
登录功能示例代码如下:
from flask import Flask, request, session, redirect, url_for
from werkzeug.security import check_password_hash
app = Flask(__name__)
@app.route('/login', methods=['POST'])
def login():
username = request.form['username']
password = request.form['password']
user = get_user_by_username(username) # 假设此函数返回用户名对应的用户记录
if user and check_password_hash(user['password'], password):
session['user_id'] = user['id']
return redirect(url_for('index'))
else:
return 'Invalid username or password'
以上代码展示了系统的一个基本功能——用户登录验证。通过检查提交的用户名和密码是否匹配数据库中的记录,来决定是否允许用户登录。