当前位置: 首页 > 新闻资讯  > 校友管理系统

用Python搭建一个在线校友信息管理系统

本文通过实际代码演示,如何使用Python和Flask框架搭建一个简单的在线校友信息管理系统。

大家好,今天咱们来聊聊怎么用Python做一个在线的校友信息管理系统。说实话,我一开始也没想到这个项目能这么简单,但确实挺有意思的。如果你是计算机专业的学生,或者对Web开发感兴趣,那这篇文章你绝对不能错过。

先说一下背景吧。现在很多学校都有一套校友信息管理系统,用来记录校友的基本信息、联系方式、毕业时间、工作单位等等。以前这些信息可能都是纸质的,或者是分散在各个Excel表格里,现在嘛,大家都想把它放到网上,方便查询和管理。所以,今天我们就是要用Python写一个在线版的校友管理系统。

那我们得先选个合适的工具。Python的话,有很多Web框架可以选,比如Django、Flask、Tornado等等。不过我觉得Flask比较轻量,适合做这种小项目,而且上手快。所以这次我们就用Flask来开发。

好了,先来安装一下Flask。如果你还没装的话,可以用pip来安装。命令就是:

pip install flask

安装完之后,我们可以新建一个文件夹,比如叫`alumni_system`,然后在里面创建一个`app.py`文件。这就是我们的主程序了。

然后我们在`app.py`里写一些基本的代码。比如:

from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
# 模拟数据库
alumni_data = []
@app.route('/')
def index():
return render_template('index.html')
@app.route('/add', methods=['GET', 'POST'])
def add_alumni():
if request.method == 'POST':
name = request.form['name']
email = request.form['email']
graduation_year = request.form['graduation_year']
company = request.form['company']
alumni_data.append({
'name': name,
'email': email,
'graduation_year': graduation_year,
'company': company
})
return redirect(url_for('index'))
return render_template('add.html')
@app.route('/list')
def list_alumni():
return render_template('list.html', alumni=alumni_data)
if __name__ == '__main__':
app.run(debug=True)

这段代码其实挺简单的。我们定义了一个Flask应用,然后设置了三个路由:首页、添加校友信息和展示校友列表。这里用了模拟数据,也就是一个列表`alumni_data`,用来保存校友的信息。

接下来,我们需要创建模板文件。在`alumni_system`目录下新建一个`templates`文件夹,里面放`index.html`、`add.html`和`list.html`这三个文件。

`index.html`的内容可以是这样:




校友信息管理系统


欢迎来到校友信息管理系统
添加校友信息
查看所有校友


校友系统

`add.html`就更简单了,就是一个表单:




添加校友信息


添加校友信息




最后是`list.html`,用来展示所有校友信息:




校友列表


校友列表
{% for alumni in alumni %}
姓名:{{ alumni.name }}
邮箱:{{ alumni.email }}
毕业年份:{{ alumni.graduation_year }}
公司:{{ alumni.company }} {% endfor %} 返回首页

这样,整个系统就搭建好了。运行一下`app.py`,然后访问`http://127.0.0.1:5000/`,就能看到首页了。点击“添加校友信息”,填写表单后提交,就可以把信息加到列表中。

不过,这只是一个基础版本,还有很多地方可以优化。比如说,我们现在用的是内存中的列表,如果重启服务器,数据就会消失。想要持久化存储,就得用数据库。这时候,我们可以用SQLite或者MySQL之类的数据库来保存数据。

比如说,我们可以用SQLAlchemy来连接数据库。首先安装它:

pip install sqlalchemy

然后修改`app.py`,引入数据库配置:

from flask_sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///alumni.db'
db = SQLAlchemy(app)
class Alumni(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100))
email = db.Column(db.String(100))
graduation_year = db.Column(db.Integer)
company = db.Column(db.String(100))

然后在添加数据的时候,改成:

new_alumni = Alumni(name=name, email=email, graduation_year=graduation_year, company=company)
db.session.add(new_alumni)
db.session.commit()

同时,还需要初始化数据库,可以在`app.py`最后加上:

with app.app_context():
db.create_all()

这样,数据就保存在数据库里了,不会因为重启而丢失。

另外,还可以增加搜索功能,让管理员可以根据姓名、邮箱或者公司来查找校友信息。也可以加入分页功能,当数据太多的时候,避免一次加载全部。

甚至还可以加上用户登录功能,让不同角色的人有不同的权限。比如管理员可以编辑和删除信息,普通用户只能查看。

说到这里,我觉得这个项目真的挺适合练手的。不管你是刚学Python,还是想提升Web开发能力,都可以从这里开始。而且,它还具备一定的实用性,很多学校可能都需要这样的系统。

总结一下,我们今天用Flask搭建了一个简单的在线校友信息管理系统,包括添加、查看功能,并且讲解了如何用数据库来持久化数据。虽然这只是一个小项目,但它涵盖了Web开发的基础知识,包括前端模板、后端逻辑、数据库操作等。

如果你想进一步学习,可以尝试添加更多功能,比如导出为Excel、发送邮件通知、设置权限管理等等。这些都是很常见的需求,也是提升技能的好方法。

所以,如果你对Web开发感兴趣,或者想做一个自己的小项目,不妨试试这个校友信息管理系统。说不定哪天,它就能变成你职业生涯中第一个真正上线的项目呢!

最后,希望这篇文章对你有帮助。如果你有任何问题,或者想了解更深入的内容,欢迎留言交流!我们一起进步,一起成长!

上一篇:基于在线技术的校友会系统设计与实现

下一篇:没有了

相关资讯

    暂无相关的数据...