ホームページ  >  記事  >  バックエンド開発  >  Python と React を使用した SPA サンプルの構築

Python と React を使用した SPA サンプルの構築

WBOY
WBOYオリジナル
2023-06-17 12:38:32900ブラウズ

インターネット技術の継続的な発展に伴い、ますます多くの Web サイトが SPA (シングル ページ アプリケーション) アーキテクチャを採用し始めています。 SPA とは、従来の複数ページ方式を使用するのではなく、コンテンツのすべてまたはほとんどを 1 ページで表示し、クライアントを通じてページ コンテンツを動的に更新することを指します。この記事では、Python と React を使用して簡単な SPA サンプルを構築し、SPA の基本的な考え方と実装方法を示します。

1. 環境セットアップ

ビルドを開始する前に、開発環境をセットアップする必要があります。まず、サーバーサイドで JavaScript を実行するためのツールである Node.js と、Node.js のパッケージ マネージャーである npm をインストールする必要があります。次に、Python とそれに関連する必要なライブラリをインストールする必要があります。

管理と展開を容易にするために、プロジェクトを構築するバックエンド フレームワークとして Django を使用します。次のコマンドを使用して Django をインストールできます:

pip install Django

同時に、django-cors-headers、djangorestframework、django- などの他の Python ライブラリをインストールする必要があります。 webpack-loader 。これらのライブラリは、バックエンド フレームワークをより完全なものにし、フロントエンド構築のサポートを強化します。

pip install django-cors-headers djangorestframework django-webpack-loader

2. フロント エンドの構築

フロント エンドを構築する前に、いくつかのディレクトリ構造を定義する必要があります。 。フロントエンドコードを保存するために、プロジェクトのルートディレクトリにfrontendというフォルダーを作成します。フロントエンド フォルダーの下に、React コードを保存するための src という名前のフォルダーと、HTML テンプレート、画像、その他のリソース ファイルを保存するための public という名前のフォルダーを作成します。

次に、npx コマンドを使用して、frontend という名前の React アプリケーションを作成します。

npx create-react-appfrontend

次に、npm Install を使用する必要があります。いくつかの必要なライブラリ (react-router-dom、axios、bootstrap、react-bootstrap、prop-types など)。

npm install reverse-router-dom axios bootstrap reverse-bootstrap prop-types

インストールが完了したら、React コードの記述を開始できます。ルーティングに基づいて React コンポーネントを動的にロードし、コンポーネント内で axios を使用してバックエンドとデータを交換します。

3. バックエンドの構築

バックエンドを構築する前に、いくつかのディレクトリ構造を定義する必要があります。バックエンド コードを保存するために、プロジェクトのルート ディレクトリに backend という名前のフォルダーを作成します。バックエンド フォルダーの下に、HTML テンプレート ファイルを保存するための templates というフォルダーを作成します。

まず、mysite という名前の Django プロジェクトを作成する必要があります:

django-admin.py startproject mysite backend

次に、mysite/ に Django プロジェクトを作成する必要があります。 mysite/settings.py ファイルに必要な設定を追加します。具体的には、STATIC_URL、STATICFILES_DIRS、TEMPLATE_DIRS、CORS_ORIGIN_ALLOW_ALL、REST_FRAMEWORK、WEBPACK_LOADER を定義する必要があります。

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, "frontend/build/static")]
TEMPLATE_DIRS = [os.path.join(BASE_DIR, "frontend/public")]
CORS_ORIGIN_ALLOW_ALL = True
REST_FRAMEWORK = {'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer', )}
WEBPACK_LOADER = {'DEFAULT': {'BUNDLE_DIR_NAME': ' dist/', 'STATS_FILE': os.path.join(BASE_DIR, 'frontend', 'webpack-stats.json')}}

これらの設定を行った後、バックエンド コードの記述を開始できます。消えた。 HTTP リクエストを処理するために、views.py というファイルを定義します。

ビュー関数では、React コンポーネント名をルート パラメーターとして使用して、React テンプレートを動的にロードし、フロントエンドに送信します。

4. パッケージ化ツールの構築

実際のデプロイメントでは、webpack を使用して React コンポーネントと関連リソースをファイルにパッケージ化する必要があります。管理を容易にするために、Webpack 構成ファイルに React コンポーネントの名前を埋め込むことができます。これにより、コンポーネント名に基づいて対応するパッケージング ファイルが生成されます。

これらの準備を実行した後、フロントエンド コードとバックエンド コードを統合できます。 Django の静的ファイル サービスを使用して、React パッケージ ファイルと HTML テンプレートを同じ Web ページ上で一緒に公開し、SPA サンプルの構築を完了できます。

5. 概要

この記事では、Python と React を使用して SPA サンプルを構築し、SPA の基本的な考え方と実装方法を示します。この例から、SPA アーキテクチャによりサイト全体が高速化、効率化され、保守が容易になることがわかります。初心者の方への参考になれば幸いです 問題やご質問がございましたら、お気軽にお問い合わせください。

以上がPython と React を使用した SPA サンプルの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。