Cara menggunakan MySQL dan Python untuk membangunkan sistem soal jawab dalam talian yang mudah
Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat Internet, teknologi pintar secara beransur-ansur telah digunakan secara meluas dalam pelbagai bidang. Sebagai salah satu cara penting interaksi manusia-komputer, sistem soal jawab dalam talian telah diberi perhatian dan digunakan oleh lebih ramai orang. Artikel ini akan memperkenalkan cara menggunakan MySQL dan Python untuk membangunkan sistem soal jawab dalam talian yang mudah, dan menyediakan contoh kod khusus.
1. Konfigurasi persekitaran
Sebelum pembangunan, kita perlu melakukan beberapa konfigurasi persekitaran. Pertama, anda perlu memasang pangkalan data MySQL dan mencipta pangkalan data untuk menyimpan maklumat soal jawab. Kedua, anda perlu memasang perpustakaan MySQL Python untuk menyambung dan mengendalikan pangkalan data MySQL. Akhir sekali, kita juga perlu memasang perpustakaan Python Flask untuk membangunkan aplikasi web.
2. Reka bentuk pangkalan data
Sebelum mula menulis kod, kita perlu mereka bentuk struktur pangkalan data yang sesuai untuk menyimpan maklumat soal jawab. Sistem soalan dan jawapan yang ringkas mengandungi sekurang-kurangnya dua jadual: satu untuk menyimpan maklumat soalan dan satu untuk menyimpan maklumat jawapan. Berikut ialah contoh reka bentuk struktur pangkalan data yang dipermudahkan:
Jadual soalan (soalan):
Jadual jawapan (jawapan):
kod menulis
import mysql.connector from flask import Flask, request, jsonify app = Flask(__name__) # 连接MySQL数据库 db = mysql.connector.connect( host="localhost", user="root", password="123456", database="qa_system" )
@app.route("/questions", methods=["GET"]) def get_questions(): cursor = db.cursor() cursor.execute("SELECT * FROM questions") questions = cursor.fetchall() results = [] for row in questions: question = { "id": row[0], "title": row[1], "content": row[2], "create_time": row[3] } results.append(question) return jsonify(results)
@app.route("/questions", methods=["POST"]) def create_question(): data = request.json title = data["title"] content = data["content"] cursor = db.cursor() cursor.execute("INSERT INTO questions (title, content) VALUES (%s, %s)", (title, content)) db.commit() return jsonify({"message": "Question created"})
@app.route("/questions/<int:question_id>/answers", methods=["GET"]) def get_answers(question_id): cursor = db.cursor() cursor.execute("SELECT * FROM answers WHERE question_id = %s", (question_id,)) answers = cursor.fetchall() results = [] for row in answers: answer = { "id": row[0], "question_id": row[1], "content": row[2], "create_time": row[3] } results.append(answer) return jsonify(results)
if __name__ == "__main__": app.run()
/questions
接口获取问题列表,使用POST方法请求/questions
接口发布问题,使用GET方法请求/questions/<question_id>/answers</question_id>
Kemudian, kita boleh menggunakan alatan seperti Postman untuk menguji antara muka yang kita buat. Contohnya, anda boleh menggunakan kaedah GET untuk meminta antara muka untuk mendapatkan senarai jawapan kepada soalan tertentu. Melalui langkah di atas, kami telah berjaya membangunkan sistem soal jawab dalam talian yang mudah menggunakan MySQL dan Python.
Ringkasan
Atas ialah kandungan terperinci Bagaimana untuk membangunkan sistem soal jawab dalam talian yang mudah menggunakan MySQL dan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!