张教授:你好李同学,听说你正在研究高校网上办事大厅的相关项目?
李同学:是的张教授,我打算用Python Flask来实现这个系统。
张教授:很好,那我们先从简单的开始,比如学生如何提交请假申请吧。
李同学:好的,首先我们需要创建一个表单页面,让用户输入相关信息。
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/apply', methods=['GET', 'POST'])
def apply():
if request.method == 'POST':
name = request.form['name']
start_date = request.form['start_date']
end_date = request.form['end_date']
reason = request.form['reason']
# 假设这里调用数据库存储数据
save_to_db(name, start_date, end_date, reason)
return '申请已提交!'
return render_template('apply.html')
张教授:这段代码看起来不错,不过你还得确保HTML表单正确传递数据。
请假申请
李同学:明白了,接下来我需要设计数据库来保存这些信息。
张教授:可以使用SQLAlchemy来简化数据库操作。
from flask_sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///requests.db'
db = SQLAlchemy(app)
class LeaveRequest(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
start_date = db.Column(db.Date, nullable=False)
end_date = db.Column(db.Date, nullable=False)
reason = db.Column(db.Text, nullable=False)
张教授:最后一步是添加一些演示数据以便测试系统功能。

with app.app_context():
db.create_all()
demo_request = LeaveRequest(name='张三', start_date='2023-11-01', end_date='2023-11-05', reason='家庭事务')
db.session.add(demo_request)
db.session.commit()
李同学:这样我们就完成了一个基本的高校网上办事大厅的演示系统!
张教授:不错,继续优化用户体验和其他功能模块。
