目次
{{ _('Hello') }}
{{ _('Supported Languages') }}
ホームページ バックエンド開発 Python チュートリアル FastAPI フレームワークを使用して国際的な Web アプリケーションを構築する

FastAPI フレームワークを使用して国際的な Web アプリケーションを構築する

Sep 29, 2023 pm 03:53 PM
fastapi ウェブアプリケーション グローバリゼーション

FastAPI フレームワークを使用して国際的な Web アプリケーションを構築する

FastAPI フレームワークを使用して国際的な Web アプリケーションを構築する

FastAPI は、Python 型の注釈と高性能の非同期サポートを組み合わせた高性能 Python Web フレームワークであり、開発を容易にします。 Web アプリケーションをより簡単、より速く、より信頼性の高いものにします。国際的な Web アプリケーションを構築する場合、FastAPI は、アプリケーションで複数の言語を簡単にサポートできる便利なツールと概念を提供します。

以下に、FastAPI フレームワークを使用して国際化をサポートする Web アプリケーションを構築する方法を紹介する具体的なコード例を示します。

  1. まず、FastAPI と対応する依存関係ライブラリ。 pip を使用してインストールできます:
pip install fastapi[all]
ログイン後にコピー
  1. Web アプリケーションを定義するための app.py ファイルを作成します:
from typing import Optional
from fastapi import FastAPI
from fastapi import Request, Depends
from fastapi.templating import Jinja2Templates
from fastapi.staticfiles import StaticFiles
from fastapi.responses import HTMLResponse
from starlette.templating import Jinja2Templates
from starlette.requests import Request
from fastapi.i18n import (
    I18nMiddleware, 
    get_accept_languages
)

app = FastAPI()

# 加载静态文件
app.mount("/static", StaticFiles(directory="static"), name="static")

# 初始化国际化中间件
app.add_middleware(I18nMiddleware, default_language="en", translation_directory="translations")

templates = Jinja2Templates(directory="templates")

# 通过GET方法获取主页面
@app.get("/", response_class=HTMLResponse)
async def read_root(request: Request, languages: str = Depends(get_accept_languages)):
    return templates.TemplateResponse("index.html", {"request": request, "languages": languages})

# 通过POST方法获取表单提交的数据并返回
@app.post("/form")
async def form_post(request: Request):
    form_data = await request.form()
    return {"data": form_data}
ログイン後にコピー
  1. プロジェクトのルート ディレクトリにtranslations フォルダーを作成し、その中に英語の翻訳ファイルを保存する en フォルダーを作成します。 en フォルダーにmessages.po ファイルを作成して英語翻訳を定義します:
msgid "Hello"
msgstr "Hello"

msgid "Submit"
msgstr "Submit"
ログイン後にコピー
  1. テンプレート フォルダーにindex.html ファイルを作成してページ テンプレートを定義します:
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>{{ _('Welcome to my website') }}</title>
</head>
<body>
    <h1 id="Hello">{{ _('Hello') }}</h1>
    <p>{{ _('This is a sample web application') }}</p>
    
    <form action="/form" method="post">
        <input type="text" name="name" placeholder="{{ _('Enter your name') }}">
        <button type="submit">{{ _('Submit') }}</button>
    </form>
    
    <h2 id="Supported-Languages">{{ _('Supported Languages') }}</h2>
    <ul>
    {% for language in languages %}
        <li><a href="/?language={{ language }}">{{ language }}</a></li>
    {% endfor %}
    </ul>
</body>
</html>
ログイン後にコピー
  1. アプリケーションの起動:
uvicorn app:app --reload
ログイン後にコピー

http://localhost:8000 にアクセスすると、アプリケーションを表示できます。デフォルトの言語は英語で、URL パラメータを渡すことができます language を使用して言語を切り替えます (http://localhost:8000/? language=zh など)。

上記の例では、FastAPI が提供する国際化ミドルウェアを使用して、HTTP リクエスト ヘッダーに Accept-Language を追加することでユーザーの言語設定を指定し、多言語サポートを実現しています。このアプリケーションでは、Jinja2 テンプレート エンジンを使用してページをレンダリングし、テンプレート内で {{ _('xxx') }} を使用して翻訳を導入します。

上記の例を通じて、FastAPI フレームワークの下で国際化をサポートする Web アプリケーションを簡単に構築し、より良いユーザー エクスペリエンスとグローバル サービスを提供できます。

以上がFastAPI フレームワークを使用して国際的な Web アプリケーションを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

FastAPI フレームワークを使用して国際的な Web アプリケーションを構築する FastAPI フレームワークを使用して国際的な Web アプリケーションを構築する Sep 29, 2023 pm 03:53 PM

FastAPI フレームワークを使用して国際的な Web アプリケーションを構築します。FastAPI は、Python 型の注釈と高性能の非同期サポートを組み合わせた高性能 Python Web フレームワークで、Web アプリケーションの開発をよりシンプル、高速、信頼性の高いものにします。国際的な Web アプリケーションを構築する場合、FastAPI は、アプリケーションで複数の言語を簡単にサポートできるようにする便利なツールと概念を提供します。以下に、FastAPI フレームワークを使用してビルドする方法を紹介する具体的なコード例を示します。

Flask vs FastAPI: 効率的な Web API 開発のための最良の選択 Flask vs FastAPI: 効率的な Web API 開発のための最良の選択 Sep 27, 2023 pm 09:01 PM

FlaskvsFastAPI: WebAPI の効率的な開発のための最良の選択 はじめに: 現代のソフトウェア開発において、WebAPI は不可欠な部分になっています。これらは、異なるアプリケーション間の通信と相互運用性を可能にするデータとサービスを提供します。 WebAPI を開発するためのフレームワークを選択する場合、Flask と FastAPI の 2 つの選択肢が大きな注目を集めています。どちらのフレームワークも非常に人気があり、それぞれに独自の利点があります。この記事ではフロリダ州について見ていきます。

Django、Flask、FastAPI: 初心者に適したフレームワークはどれですか? Django、Flask、FastAPI: 初心者に適したフレームワークはどれですか? Sep 27, 2023 pm 09:06 PM

Django、Flask、FastAPI: 初心者に適したフレームワークはどれですか?はじめに: Web アプリケーション開発の分野では、優れた Python フレームワークが数多くあります。この記事では、最も人気のある 3 つのフレームワーク、Django、Flask、および FastAPI に焦点を当てます。それらの機能を評価し、初心者が使用するのに最適なフレームワークについて説明します。同時に、初心者がこれらのフレームワークをよりよく理解できるように、いくつかの具体的なコード例も提供します。 1.ジャンゴ:ジャンゴ

PHP8 は JIT コンパイルを通じて Web アプリケーションのパフォーマンスをどのように向上させますか? PHP8 は JIT コンパイルを通じて Web アプリケーションのパフォーマンスをどのように向上させますか? Oct 18, 2023 am 08:04 AM

PHP8 は JIT コンパイルを通じて Web アプリケーションのパフォーマンスをどのように向上させますか? Web アプリケーションの継続的な開発と需要の増加に伴い、Web アプリケーションのパフォーマンスの向上が開発者の焦点の 1 つになっています。一般的に使用されるサーバーサイド スクリプト言語として、PHP は常に開発者に愛されてきました。 JIT (ジャストインタイム コンパイル) コンパイラーは PHP8 で導入され、開発者に新しいパフォーマンス最適化ソリューションを提供します。この記事では、PHP8 が JIT コンパイルを通じて Web アプリケーションのパフォーマンスを向上させる方法について詳しく説明し、具体的なコード例を示します。

PHP を使用した多言語 Web サイトの構築: 言語の壁を取り除く PHP を使用した多言語 Web サイトの構築: 言語の壁を取り除く Feb 19, 2024 pm 07:10 PM

1. 次のフィールドを含む、多言語データ用の新しいテーブルを作成するデータベースを準備します: CREATETABLEtranslations(idINTNOTNULLAUTO_INCREMENT,localeVARCHAR(255)NOTNULL,keyVARCHAR(255)NOTNULL,valueTEXTNOTNULL,PRIMARYKEY(id)); 2. 言語切り替えメカニズムを設定します。 Web サイト上で言語スイッチャーをトップまたはサイドバーに追加して、ユーザーが好みの言語を選択できるようにします。 // 現在の言語を取得 $current_locale=isset($_GET["locale"])?$_

Django、Flask、FastAPI: 開発ニーズに最も適したものを選択してください Django、Flask、FastAPI: 開発ニーズに最も適したものを選択してください Sep 29, 2023 am 10:49 AM

Django、Flask、および FastAPI: 開発ニーズに最も適したものを選択してください。特定のコード サンプルが必要です はじめに: 最新の Web 開発では、適切なフレームワークを選択することが重要です。 Python が Web 開発の分野で開発を続けるにつれて、Django、Flask、FastAPI などのフレームワークが開発者の間でますます人気が高まっています。この記事では、開発ニーズに最適なフレームワークを選択できるように、これら 3 つのフレームワークの特性と適用可能なシナリオを具体的なコード例と組み合わせて紹介します。 1.D

大規模プロジェクトの選択肢: Django と FastAPI 大規模プロジェクトの選択肢: Django と FastAPI Sep 28, 2023 am 09:21 AM

大規模プロジェクトの選択: DjangovsFastAPI の概要: インターネット時代、テクノロジーの急速な発展に伴い、大規模プロジェクトの需要は日に日に高まっています。大規模プロジェクトに適した開発フレームワークを選択することは、すべての開発者が直面する必要がある重要な決定です。この記事では、Django と FastAPI という 2 つの有名なフレームワークを比較および分析し、読者がプロジェクトに適したフレームワークをより深く理解して選択できるように、対応するコード例を示します。 Django の紹介: Djang

PHP 開発における多言語と国際化の問題に対処する方法 PHP 開発における多言語と国際化の問題に対処する方法 Oct 09, 2023 pm 04:24 PM

PHP 開発における多言語化と国際化の問題にどのように対処するかには、具体的なコード例が必要ですが、インターネットの発展に伴い、多言語化と国際化に対する人々の要求はますます高まっています。 PHP 開発では、多言語と国際化の問題を効果的に処理する方法が、開発者が解決する必要がある重要な課題となっています。文字エンコーディングの処理 PHP 開発では、まず文字エンコーディングが正しく処理されることを確認する必要があります。複数言語環境では、UTF-8 エンコーディングを使用することが最も一般的な選択です。 PHP ファイルの先頭に次のコードを追加できます。 header('C

See all articles