基于Python实现校友信息管理系统的对话式开发
小明:嘿,小红,听说你最近在学习Python编程,能不能帮我设计一个校友信息管理系统?
小红:当然可以!首先我们需要明确系统需要哪些功能。比如查询、添加、修改和删除校友信息。
小明:嗯,这听起来不错。我们应该用什么工具来实现呢?
小红:我们可以使用Python的Flask框架作为后端,并结合SQLite数据库来存储数据。
小明:好的,那我们先从创建数据库开始吧。你能给我展示一下怎么设置吗?
小红:当然,这是初始化数据库的代码:
import sqlite3
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS alumni (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
major TEXT NOT NULL,
year INTEGER NOT NULL)''')
conn.commit()
conn.close()
小明:明白了,接下来我们怎么处理用户的输入呢?
小红:我们可以编写一个简单的Flask应用来接收请求并返回结果。这是基本的路由示例:
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/add', methods=['POST'])
def add_alumni():
data = request.get_json()
name = data['name']
major = data['major']
year = data['year']
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()
cursor.execute("INSERT INTO alumni (name, major, year) VALUES (?, ?, ?)", (name, major, year))
conn.commit()
conn.close()
return jsonify({"message": "Alumni added successfully"}), 201
小明:哇,看起来很清晰!如果我们想查看所有校友的信息怎么办?
小红:很简单,只需要写一个查询接口即可:
@app.route('/view', methods=['GET'])
def view_alumni():
conn = sqlite3.connect('alumni.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM alumni")
rows = cursor.fetchall()
alumni_list = [{"id": row[0], "name": row[1], "major": row[2], "year": row[3]} for row in rows]
conn.close()
return jsonify(alumni_list)
小明:太棒了!这样我们就有了基本的CRUD功能。下一步是测试整个系统。
小红:没错,你可以用Postman或curl命令发送HTTP请求来测试这些API。
小明:感谢你的帮助,我现在对构建这样的系统更有信心了。
小红:不客气,有问题随时找我哦!
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!