小明:最近我在开发一个顶岗实习管理系统,需要实现一个月报功能,你有什么建议吗?
小李:你可以先设计一个数据库表来存储月报信息。比如,使用MySQL,创建一个名为`monthly_report`的表。
小明:那具体怎么设计呢?
小李:字段可以包括:id(主键)、student_id(学生ID)、month(月份)、content(内容)、created_at(创建时间)等。
小明:明白了,那后端代码应该怎么写呢?
小李:如果你用Python和Flask框架,可以这样写一个简单的接口:
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://user:password@localhost/db_name'
db = SQLAlchemy(app)
class MonthlyReport(db.Model):
id = db.Column(db.Integer, primary_key=True)
student_id = db.Column(db.String(50))
month = db.Column(db.String(20))
content = db.Column(db.Text)
created_at = db.Column(db.DateTime, default=db.func.current_timestamp())
@app.route('/report', methods=['POST'])
def add_report():
data = request.json
report = MonthlyReport(
student_id=data['student_id'],
month=data['month'],
content=data['content']
)
db.session.add(report)
db.session.commit()
return jsonify({"message": "成功添加月报"}), 201
if __name__ == '__main__':
app.run(debug=True)
小明:这个接口应该可以满足需求了,那查询月报呢?
小李:可以用GET方法,根据学生ID和月份查询数据,返回JSON格式的结果。
小明:好的,谢谢你的帮助!
小李:不客气,祝你项目顺利!