Table des matières
{{ _('Hello') }}
{{ _('Supported Languages') }}
Maison développement back-end Tutoriel Python Créez des applications Web internationales à l'aide du framework FastAPI

Créez des applications Web internationales à l'aide du framework FastAPI

Sep 29, 2023 pm 03:53 PM
fastapi web应用 国际化

Créez des applications Web internationales à laide du framework FastAPI

Utilisez le framework FastAPI pour créer des applications Web internationales

FastAPI est un framework Web Python hautes performances qui combine des annotations de type Python et un support asynchrone hautes performances pour rendre le développement d'applications Web plus simple, plus rapide et fiable. Lors de la création d'une application Web internationale, FastAPI fournit des outils et des concepts pratiques qui permettent à l'application de prendre facilement en charge plusieurs langues.

Ci-dessous, je vais donner un exemple de code spécifique sur la façon d'utiliser le framework FastAPI pour créer une application Web prenant en charge l'internationalisation :

  1. Tout d'abord, nous devons installer FastAPI et les bibliothèques dépendantes correspondantes. Vous pouvez utiliser pip pour installer :
pip install fastapi[all]
Copier après la connexion
  1. Créez un fichier app.py pour définir l'application Web :
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}
Copier après la connexion
  1. Créez un dossier de traductions dans le répertoire racine du projet et créez-y un dossier en, en utilisant Pour stocker l'anglais fichiers de traduction. Créez un fichier messages.po dans le dossier en pour définir la traduction anglaise :
msgid "Hello"
msgstr "Hello"

msgid "Submit"
msgstr "Submit"
Copier après la connexion
  1. Créez un fichier index.html dans le dossier templates pour définir le modèle de page :
<!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>
Copier après la connexion
  1. Démarrez l'application :
uvicorn app:app --reload
Copier après la connexion

Vous Vous pouvez visualiser l'application en visitant http://localhost:8000. La langue par défaut est l'anglais. Vous pouvez changer de langue via le paramètre URL langue, tel que http://localhost:8000/?langue. =zh . language来切换语言,比如http://localhost:8000/?language=zh。

以上示例中,我们使用了FastAPI提供的国际化中间件,通过在HTTP请求头中添加Accept-Language来指定用户的语言偏好,从而实现多语言支持。在应用中我们使用了Jinja2模板引擎来渲染页面,通过在模板中使用{{ _('xxx') }}

Dans l'exemple ci-dessus, nous utilisons le middleware d'internationalisation fourni par FastAPI pour spécifier la préférence linguistique de l'utilisateur en ajoutant Accept-Language dans l'en-tête de la requête HTTP pour obtenir une prise en charge multilingue. Dans l'application, nous utilisons le moteur de modèle Jinja2 pour afficher la page et introduisons la traduction en utilisant {{ _('xxx') }} dans le modèle.

Grâce à l'exemple ci-dessus, nous pouvons facilement créer une application Web prenant en charge l'internationalisation dans le cadre FastAPI, offrant une meilleure expérience utilisateur et des services globaux. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Créez des applications Web internationales à l'aide du framework FastAPI Créez des applications Web internationales à l'aide du framework FastAPI Sep 29, 2023 pm 03:53 PM

Utilisez le framework FastAPI pour créer des applications Web internationales FastAPI est un framework Web Python hautes performances qui combine des annotations de type Python et une prise en charge asynchrone hautes performances pour rendre le développement d'applications Web plus simple, plus rapide et plus fiable. Lors de la création d'une application Web internationale, FastAPI fournit des outils et des concepts pratiques qui permettent à l'application de prendre facilement en charge plusieurs langues. Ci-dessous, je vais donner un exemple de code spécifique pour présenter comment utiliser le framework FastAPI pour construire

Flask vs FastAPI : le meilleur choix pour un développement efficace d'API Web Flask vs FastAPI : le meilleur choix pour un développement efficace d'API Web Sep 27, 2023 pm 09:01 PM

FlaskvsFastAPI : Le meilleur choix pour un développement efficace de WebAPI Introduction : Dans le développement de logiciels modernes, WebAPI est devenu un élément indispensable. Ils fournissent des données et des services qui permettent la communication et l'interopérabilité entre différentes applications. Lors du choix d'un framework pour développer WebAPI, Flask et FastAPI sont deux choix qui ont beaucoup retenu l'attention. Les deux frameworks sont très populaires et chacun présente ses propres avantages. Dans cet article, nous examinerons Fl

Django, Flask et FastAPI : quel framework convient aux débutants ? Django, Flask et FastAPI : quel framework convient aux débutants ? Sep 27, 2023 pm 09:06 PM

Django, Flask et FastAPI : quel framework convient aux débutants ? Introduction : Dans le domaine du développement d'applications Web, il existe de nombreux excellents frameworks Python parmi lesquels choisir. Cet article se concentrera sur les trois frameworks les plus populaires, Django, Flask et FastAPI. Nous évaluerons leurs fonctionnalités et discuterons du framework le mieux adapté aux débutants. Parallèlement, nous fournirons également quelques exemples de code spécifiques pour aider les débutants à mieux comprendre ces frameworks. 1. Django : Django

Comment PHP8 améliore-t-il les performances des applications web grâce à la compilation JIT ? Comment PHP8 améliore-t-il les performances des applications web grâce à la compilation JIT ? Oct 18, 2023 am 08:04 AM

Comment PHP8 améliore-t-il les performances des applications web grâce à la compilation JIT ? Avec le développement continu des applications Web et l'augmentation de la demande, l'amélioration des performances des applications Web est devenue l'une des priorités des développeurs. En tant que langage de script côté serveur couramment utilisé, PHP a toujours été apprécié des développeurs. Le compilateur JIT (compilation juste à temps) a été introduit dans PHP8, offrant aux développeurs une nouvelle solution d'optimisation des performances. Cet article explique en détail comment PHP8 améliore les performances des applications Web grâce à la compilation JIT et fournit des exemples de code spécifiques.

Django, Flask et FastAPI : choisissez celui qui correspond le mieux à vos besoins de développement Django, Flask et FastAPI : choisissez celui qui correspond le mieux à vos besoins de développement Sep 29, 2023 am 10:49 AM

Django, Flask et FastAPI : choisissez celui qui correspond le mieux à vos besoins de développement, exemples de code spécifiques requis Introduction : Dans le développement Web moderne, le choix du bon framework est crucial. Alors que Python continue de se développer dans le domaine du développement Web, des frameworks tels que Django, Flask et FastAPI deviennent de plus en plus populaires parmi les développeurs. Cet article présentera les caractéristiques et les scénarios applicables de ces trois frameworks, combinés à des exemples de code spécifiques, pour vous aider à choisir le framework le mieux adapté à vos besoins de développement. 1.D

Créer des sites Web multilingues avec PHP : éliminer les barrières linguistiques Créer des sites Web multilingues avec PHP : éliminer les barrières linguistiques Feb 19, 2024 pm 07:10 PM

1. Préparez la base de données pour créer une nouvelle table pour les données multilingues, comprenant les champs suivants : CREATETABLEtranslations(idINTNOTNULLAUTO_INCREMENT,localeVARCHAR(255)NOTNULL,keyVARCHAR(255)NOTNULL,valueTEXTNOTNULL,PRIMARYKEY(id)); sur le site Web Ajoutez un sélecteur de langue en haut ou dans la barre latérale pour permettre aux utilisateurs de sélectionner leur langue préférée. //Obtenir la langue actuelle $current_locale=isset($_GET["locale"])?$_

Choix pour les projets à grande échelle : Django vs FastAPI Choix pour les projets à grande échelle : Django vs FastAPI Sep 28, 2023 am 09:21 AM

Sélection de projets à grande échelle : Introduction à DjangovsFastAPI : À l'ère d'Internet, avec le développement rapide de la technologie, la demande de projets à grande échelle augmente de jour en jour. Choisir un cadre de développement adapté aux projets à grande échelle est une décision importante à laquelle chaque développeur doit faire face. Cet article comparera et analysera deux frameworks de haut niveau - Django et FastAPI, et donnera des exemples de code correspondants pour aider les lecteurs à mieux comprendre et choisir le framework qui convient à leurs projets. Introduction à Django : Djang

Comment gérer les problèmes de multilinguisme et d'internationalisation dans le développement PHP Comment gérer les problèmes de multilinguisme et d'internationalisation dans le développement PHP Oct 09, 2023 pm 04:24 PM

La manière de gérer les problèmes de multilinguisme et d'internationalisation dans le développement PHP nécessite des exemples de code spécifiques. Avec le développement d'Internet, la demande de multilinguisme et d'internationalisation est de plus en plus forte. Dans le développement PHP, la manière de gérer efficacement les problèmes de multilinguisme et d’internationalisation est devenue une tâche importante que les développeurs doivent résoudre. Gestion de l'encodage des caractères Dans le développement PHP, nous devons d'abord nous assurer que l'encodage des caractères est géré correctement. Dans les environnements multilingues, l’utilisation du codage UTF-8 est le choix le plus courant. Vous pouvez ajouter le code suivant en tête du fichier PHP : header('C

See all articles