在当今数字化时代,信息管理系统在各个领域都发挥着重要作用。本文将介绍如何利用Python和Flask框架开发一个研究生信息管理系统,并实现下载功能。
### 系统环境配置
首先确保已安装Python和pip。接下来,使用pip安装Flask和Flask-SQLAlchemy:
pip install flask flask_sqlalchemy
### 创建Flask应用
创建一个名为`app.py`的文件,编写基础的Flask应用结构:
from flask import Flask, request, render_template, send_from_directory
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///students.db'
db = SQLAlchemy(app)
class Student(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
major = db.Column(db.String(80), nullable=False)
@app.route('/')
def index():
students = Student.query.all()
return render_template('index.html', students=students)
@app.route('/download/')
def download_file(filename):
return send_from_directory(directory='uploads', path=filename)
if __name__ == '__main__':
db.create_all()
app.run(debug=True)
### 建立数据库模型

在上述代码中,我们定义了一个`Student`类作为数据库模型,它包含了学生的ID、姓名和专业等字段。
### 创建HTML模板
在项目目录下创建一个名为`templates`的文件夹,并在其中创建`index.html`文件,用于展示学生列表并提供下载链接:
研究生信息管理系统 研究生信息
| ID | 姓名 | 专业 |
|---|---|---|
| {{ student.id }} | {{ student.name }} | {{ student.major }} |
### 文件上传与下载
为了支持文件上传和下载,需要添加相应的路由处理逻辑。可以使用Flask提供的`send_from_directory`函数来处理文件下载请求。
@app.route('/upload', methods=['POST'])
def upload_file():
file = request.files['file']
file.save(f'uploads/{file.filename}')
return '文件上传成功!'
以上就是如何使用Python和Flask框架创建一个简单的研究生信息管理系统,并实现文件下载功能的完整过程。这不仅有助于提高数据管理效率,也方便了文件的共享与访问。
]]>
