MySQL と Python を使用して簡単なオンライン質疑応答システムを開発する方法

WBOY
リリース: 2023-09-20 14:34:49
オリジナル
1085 人が閲覧しました

MySQL と Python を使用して簡単なオンライン質疑応答システムを開発する方法

MySQL と Python を使用して簡単なオンライン質問応答システムを開発する方法

近年、インターネットの急速な発展に伴い、インテリジェント テクノロジーが徐々に普及してきました。さまざまな分野で広く使用されています。人間とコンピュータの対話の重要な手段の 1 つとして、オンライン質疑応答システムが注目され、ますます多くの人が使用しています。この記事では、MySQL と Python を使用して簡単なオンライン質疑応答システムを開発する方法を紹介し、具体的なコード例を示します。

1. 環境設定
開発の前に、いくつかの環境設定を行う必要があります。まず、MySQL データベースをインストールし、質問と回答の情報を保存するデータベースを作成する必要があります。次に、MySQL データベースに接続して操作するために、Python の MySQL ライブラリをインストールする必要があります。最後に、Web アプリケーションを開発するための Python Flask ライブラリもインストールする必要があります。

2. データベース設計
コードを書き始める前に、質問と回答の情報を保存するための適切なデータベース構造を設計する必要があります。単純な質問と回答のシステムには、少なくとも 2 つのテーブルが含まれています。1 つは質問情報を格納するため、もう 1 つは回答情報を格納するためです。以下は、簡略化されたデータベース構造の設計例です。

  1. 質問テーブル (質問):

    • id: 質問 ID
    • title: 質問タイトル
    • content: 質問の内容
    • create_time: 質問の作成時間
  2. 回答:

    • id:回答 ID
    • question_id: 質問 ID
    • content: 回答の内容
    • create_time: 回答の作成時間
    • 3。コードの実装
    次に、簡単なオンライン質疑応答システムを実装するコードの作成を開始します。まず、必要なライブラリをインポートしてデータベース接続を行う必要があります:
  3. 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)
ログイン後にコピー

4. テストを実行します

コードを記述した後、システムが適切に動作していることを確認するテスト。まず、Flask アプリケーションを起動する必要があります。

if __name__ == "__main__":
    app.run()
ログイン後にコピー
次に、Postman などのツールを使用して、作成したインターフェイスをテストします。たとえば、GET メソッドを使用して

/questions
インターフェイスをリクエストして質問のリストを取得したり、POST メソッドを使用して

/questions

インターフェイスに質問を投稿したり、 GET メソッドで /questions/<question_id> をリクエストします。 /answers</question_id> インターフェイスは、指定された質問に対する回答のリストを取得します。 上記の手順により、MySQL と Python を使用した簡単なオンライン質疑応答システムの開発に成功しました。 概要

この記事では、MySQL と Python を使用して簡単なオンライン質問応答システムを開発する方法を紹介し、具体的なコード例を示します。もちろん、これは単純な例にすぎず、実際のオンライン質疑応答システムには、検討および改善が必要な機能や詳細がまだ多くあります。この記事がオンライン質疑応答システムの開発に初めて携わる人々に役立ち、より複雑で完全な開発作業の出発点として使用できることを願っています。

以上がMySQL と Python を使用して簡単なオンライン質疑応答システムを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!