ホームページ >ウェブフロントエンド >CSSチュートリアル >Django と Vue.js を使用して IRIS で Web アプリケーションを作成する: Django フレームワークを覗いてみよう
私は長い間 Django フレームワークを学びたいと思っていましたが、別のより差し迫ったプロジェクトが常に優先されてきました。多くの開発者と同様に、私も機械学習に関しては Python を使用しますが、初めてウェブ プログラミングを学んだときはまだ PHP が優位性を保っていたので、マシンを公開するウェブ アプリケーションを作成するための新しい複雑なフレームワークを手に入れる時期が来ました。仕事を学んでいても、私はまだ PHP に目を向けました。しばらくの間、私はウェブサイトを構築するために Laravel と呼ばれるフレームワークを使用してきました。この PHP フレームワークは、ウェブ プログラミングの最新の Model-View-Controller パターンを私に紹介してくれました。物事をさらに複雑にするために、私は最新の JavaScript フレームワークを使用してフロントエンドを構築することを好みます。私は Vue.js に最も精通しているため、React を使用している人の話をよく聞くにもかかわらず、このプロジェクトでは Vue.js にこだわりました。
そもそも、なぜ複雑なフレームワークを使用するのでしょうか? Django、Laravel、React、Vue などのフレームワークを学習する際の最大の課題は何ですか?
人それぞれの答えがありますが、私は MVC フレームワークが大好きになりました。アプリの構造化について多くのガイダンスを提供してくれるからです。毎回車輪を再発明する必要がなくなります。最初は、これらのフレームワークは制約的で不可解に見えるかもしれませんが、一度構造に慣れると、新しい機能を追加するのが簡単であることがわかります。
課題は、物事があまりにも単純になりすぎる可能性があることです。 Django のようなフレームワークは、よく知られた概念に基づいているかもしれない多くの省略表現や仮定に依存していますが、Django では特に馴染みのない名前と構造を持っています。私のアプリケーションでは、Django が API とすべての Web ルーティングを処理します。新しい API エンドポイントを追加したい場合は、views.py 内のファイルに関数を追加してから、urls.py ファイルに移動して、その関数をインポートするステートメントと、その関数がインポートされる URL を定義する別のステートメントを追加する必要があります。 APIエンドポイントが利用可能です。その後、JavaScript を使用してそのエンドポイントにクエリを実行してデータを取得し、ユーザーに表示または操作できるようにフロントエンド Vue コンポーネントを編集する必要があります。
プロジェクトが設定されたら、このような機能をすぐに追加できます。約 4 行のコードを追加するだけで、views.py ファイル内の新しい関数で必要なロジックに集中して、HTTP リクエストを処理し、必要なデータを JSON 形式で返すことができます。難しいのは、これらのファイルが何であるか、そしてそれらがどのように連携してアプリケーション全体を作成するかを学ぶことです。
Django のようなフレームワークを学習する最良の方法は、実用的なサンプルを見つけて、小さな変更を加えてデータの流れを把握することです。概念がより明確になり、より理解できるようになったら、ドキュメントを参照してください。 AI モデルに、コードの一部と、フレームワーク内のさまざまな標準ファイルが何を行うかを説明してもらいます。これらのツールが、長期的には時間を節約し、アプリケーションの保守と更新を容易にする方法として登場したことを理解するのに、それほど時間はかかりません。 Django と Vue フレームワークは標準的な構造を持っているため、後で戻ってきたときに、なぜ特定の方法でコーディングしたのかを理解しやすくなり、自分の作業に慣れるのが簡単になることがわかります。また、他の人のアプリケーションの基本構造をよく知っているため、他の人のアプリケーションを手に取り、コア機能を理解することも容易になります。
では、これから始める人に役立つ Django の基本は何でしょうか?私にとって、最初に理解すべきことは、Django プロジェクトは、新しい Django プロジェクトを作成するコマンドを実行することで生成され、これにより、構築を開始するために使用できる「ベース プロジェクト」を構成する基本的なファイルとフォルダのセットが生成されるということです。プロジェクト フォルダーには、プロジェクト全体に適用される設定を含む複数の Python ファイルが含まれます。頻繁にアクセスすることになる重要なものは、すべての設定が含まれる settings.py と urls.py です。 「Django は静的ファイルの配置場所をどのように決定するのですか?」のような質問がある場合、その答えは通常、settings.py のどこかにあります。アプリケーションに新しい URL を追加する場合は、urls.py ファイルを更新する必要があります。
これらのプロジェクト レベルのファイルとともに、プロジェクト内のアプリごとにフォルダーを作成します。これらのアプリは、settings.py ファイルに登録、つまり名前を付ける必要があります。私のプロジェクトのメインのアプリフォルダーはドキュメントと呼ばれます。そのフォルダー内には、models.py ファイル、serializer.py ファイル、views.py ファイルがあります。他にもありますが、これらが重要な 3 つです。
models.py 内で、Document オブジェクトとそのフィールドを指定します。 Django は、Document オブジェクトに保存する予定の情報を保存するために必要なスキーマを使用して、IRIS データベースにDocuments テーブルを作成する作業を自動的に実行します。 models.py ファイルでは、すべてのドキュメントに名前 (255 文字以下の文字列)、コンテンツ フィールド (単なる大量のテキスト)、およびベクトルが含まれるデータベース名があることを伝えます。保存されているのは (別のテキスト フィールド)、埋め込みタイプ (別のテキスト フィールド)、最後にベクトル埋め込み次元 (数値) です。これらの定義を使用して、Django は必要な列タイプを持つ必要なデータベース テーブルを作成します。データベースへのオブジェクトの保存は、Document.save() と同じくらい簡単です。
serializer.py ファイル内には、オブジェクトを JSON に、またはその逆に変換する方法が定義されています。基本的な使用例については、それを定義する標準的な方法があり、このプロジェクトで確認できます。
ここで、Django の要点、views.py ファイルに進みます。ここで、HTTP リクエストを受け入れ、HTTP レスポンス全体、または JSON API の場合は JSON レスポンスなどのデータを返す関数を定義します。これは、Django が Web ページ全体を配信してアプリのフロントエンドになることも、JSON データのみを提供して、まったく異なるプラットフォーム上にフロントエンドを構築できることを意味します。
これらの一見任意のファイルと規則をすべて使用するのは、最初は面倒に感じるかもしれませんが、そうすることでアプリケーションが動作し始めて HTTP リクエストを処理し、それに応答して正しいデータを提供するだけであることがわかると、新しい機能を構築し続けるのはとても楽しいです。 HTTP リクエストを処理するために 1 つのオブジェクト、Web ルート、および関数を定義すると、2 番目と 3 番目のオブジェクトを定義してアプリケーションに機能を追加することがいかに簡単であるかがわかります。
@guillaume.Rongier7183 が作成した Iris Django テンプレートからプロジェクトをフォークしました。Github: https://github.com/grongierisc/iris-django-template
そのテンプレートには Django のみが含まれており、Django フレームワークを学習するのに非常に役立ちました。 私が行った主な追加の 1 つは、Tailwind CSS を備えた Vue.js を追加して、最新の Javascript フレームワークをこのパッケージと統合し、IRIS 上でシングル ページ アプリケーションを実行できることを示すことでした。シングル ページ アプリケーションは、xhr リクエストを送信して JSON データを取得し、完全にリロードすることなくページを動的に更新する JavaScript アプリケーションです。これには長所と短所がありますが、現代の Web 開発の特徴です。
私のプロジェクトを、IRIS 上の RAG および Vector ストアの例としてだけでなく、Django を Vue.js および Tailwind とともに使用して、その上に最新の柔軟な Web アプリケーションを簡単かつ迅速に作成するためのテンプレートとしても見ていただくことをお勧めします。虹彩。そのリポジトリは Github にあります: https://github.com/mindfulcoder49/iris-django-template
このプロジェクトを自分用にアレンジしようとしている人が遭遇する可能性のある問題について、どんな質問にも喜んでお答えします。
以上がDjango と Vue.js を使用して IRIS で Web アプリケーションを作成する: Django フレームワークを覗いてみようの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。