Jadual Kandungan
{{ _('Hello') }}
{{ _('Supported Languages') }}
Rumah pembangunan bahagian belakang Tutorial Python Bina aplikasi web antarabangsa menggunakan rangka kerja FastAPI

Bina aplikasi web antarabangsa menggunakan rangka kerja FastAPI

Sep 29, 2023 pm 03:53 PM
fastapi aplikasi web pengantarabangsaan

Bina aplikasi web antarabangsa menggunakan rangka kerja FastAPI

Gunakan rangka kerja FastAPI untuk membina aplikasi web antarabangsa

FastAPI ialah rangka kerja web Python berprestasi tinggi yang menggabungkan anotasi jenis Python dan sokongan tak segerak yang berprestasi lebih baik untuk menjadikan pembangunan aplikasi web lebih mudah, pantas dan boleh dipercayai. Apabila membina aplikasi Web antarabangsa, FastAPI menyediakan alatan dan konsep yang mudah yang boleh menjadikan aplikasi menyokong berbilang bahasa dengan mudah.

Di bawah saya akan memberikan contoh kod khusus tentang cara menggunakan rangka kerja FastAPI untuk membina aplikasi web yang menyokong pengantarabangsaan:

  1. Pertama, kita perlu memasang FastAPI dan perpustakaan bergantung yang sepadan. Anda boleh menggunakan pip untuk memasang:
pip install fastapi[all]
Salin selepas log masuk
  1. Buat fail app.py untuk mentakrifkan aplikasi 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}
Salin selepas log masuk
  1. Buat folder terjemahan dalam direktori akar projek dan buat folder en di dalamnya, menggunakan Untuk menyimpan Bahasa Inggeris fail terjemahan. Cipta fail messages.po dalam folder en untuk mentakrifkan terjemahan Bahasa Inggeris:
msgid "Hello"
msgstr "Hello"

msgid "Submit"
msgstr "Submit"
Salin selepas log masuk
  1. Buat fail index.html dalam folder templat untuk menentukan templat halaman:
<!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>
Salin selepas log masuk
  1. Mulakan aplikasi:
uvicorn app:app --reload
Salin selepas log masuk

boleh melihat aplikasi dengan melawati http://localhost:8000 Bahasa lalai ialah bahasa Inggeris Anda boleh menukar bahasa melalui parameter URL language, seperti http://localhost:8000/?language. =zh . language来切换语言,比如http://localhost:8000/?language=zh。

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

Dalam contoh di atas, kami menggunakan perisian tengah pengantarabangsaan yang disediakan oleh FastAPI untuk menentukan pilihan bahasa pengguna dengan menambahkan Accept-Language dalam pengepala permintaan HTTP untuk mencapai sokongan berbilang bahasa. Dalam aplikasi, kami menggunakan enjin templat Jinja2 untuk memaparkan halaman, dan memperkenalkan terjemahan dengan menggunakan {{ _('xxx') }} dalam templat.

Melalui contoh di atas, kami boleh membina aplikasi web dengan mudah yang menyokong pengantarabangsaan di bawah rangka kerja FastAPI, memberikan pengalaman pengguna yang lebih baik dan perkhidmatan global. 🎜

Atas ialah kandungan terperinci Bina aplikasi web antarabangsa menggunakan rangka kerja FastAPI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1660
14
Tutorial PHP
1260
29
Tutorial C#
1233
24
Bina aplikasi web antarabangsa menggunakan rangka kerja FastAPI Bina aplikasi web antarabangsa menggunakan rangka kerja FastAPI Sep 29, 2023 pm 03:53 PM

Gunakan rangka kerja FastAPI untuk membina aplikasi Web antarabangsa FastAPI ialah rangka kerja Web Python berprestasi tinggi yang menggabungkan anotasi jenis Python dan sokongan tak segerak berprestasi tinggi untuk menjadikan pembangunan aplikasi Web lebih mudah, lebih pantas dan lebih dipercayai. Apabila membina aplikasi Web antarabangsa, FastAPI menyediakan alatan dan konsep yang mudah yang boleh menjadikan aplikasi menyokong berbilang bahasa dengan mudah. Di bawah saya akan memberikan contoh kod khusus untuk memperkenalkan cara menggunakan rangka kerja FastAPI untuk membina

Flask vs FastAPI: Pilihan terbaik untuk pembangunan API Web yang cekap Flask vs FastAPI: Pilihan terbaik untuk pembangunan API Web yang cekap Sep 27, 2023 pm 09:01 PM

FlaskvsFastAPI: Pilihan terbaik untuk pembangunan WebAPI yang cekap Pengenalan: Dalam pembangunan perisian moden, WebAPI telah menjadi bahagian yang sangat diperlukan. Mereka menyediakan data dan perkhidmatan yang membolehkan komunikasi dan saling kendali antara aplikasi yang berbeza. Apabila memilih rangka kerja untuk membangunkan WebAPI, Flask dan FastAPI ialah dua pilihan yang telah menarik banyak perhatian. Kedua-dua rangka kerja sangat popular dan masing-masing mempunyai kelebihan tersendiri. Dalam artikel ini, kita akan melihat Fl

Django, Flask dan FastAPI: Rangka kerja manakah yang sesuai untuk pemula? Django, Flask dan FastAPI: Rangka kerja manakah yang sesuai untuk pemula? Sep 27, 2023 pm 09:06 PM

Django, Flask dan FastAPI: Rangka kerja manakah yang sesuai untuk pemula? Pengenalan: Dalam bidang pembangunan aplikasi web, terdapat banyak rangka kerja Python yang sangat baik untuk dipilih. Artikel ini akan menumpukan pada tiga rangka kerja yang paling popular, Django, Flask dan FastAPI. Kami akan menilai ciri mereka dan membincangkan rangka kerja yang terbaik untuk digunakan oleh pemula. Pada masa yang sama, kami juga akan menyediakan beberapa contoh kod khusus untuk membantu pemula lebih memahami rangka kerja ini. 1. Django: Django

Bagaimanakah PHP8 meningkatkan prestasi aplikasi web melalui kompilasi JIT? Bagaimanakah PHP8 meningkatkan prestasi aplikasi web melalui kompilasi JIT? Oct 18, 2023 am 08:04 AM

Bagaimanakah PHP8 meningkatkan prestasi aplikasi web melalui kompilasi JIT? Dengan pembangunan aplikasi Web yang berterusan dan peningkatan permintaan, peningkatan prestasi aplikasi Web telah menjadi salah satu fokus pembangun. Sebagai bahasa skrip sebelah pelayan yang biasa digunakan, PHP sentiasa disukai oleh pembangun. Pengkompil JIT (kompilasi tepat dalam masa) telah diperkenalkan dalam PHP8, menyediakan pembangun dengan penyelesaian pengoptimuman prestasi baharu. Artikel ini akan membincangkan secara terperinci bagaimana PHP8 boleh meningkatkan prestasi aplikasi web melalui kompilasi JIT, dan menyediakan contoh kod khusus.

Django, Flask dan FastAPI: Pilih yang paling sesuai dengan keperluan pembangunan anda Django, Flask dan FastAPI: Pilih yang paling sesuai dengan keperluan pembangunan anda Sep 29, 2023 am 10:49 AM

Django, Flask dan FastAPI: Pilih yang paling sesuai dengan keperluan pembangunan anda, contoh kod khusus yang diperlukan Pengenalan: Dalam pembangunan web moden, memilih rangka kerja yang betul adalah penting. Memandangkan Python terus berkembang dalam bidang pembangunan web, rangka kerja seperti Django, Flask dan FastAPI menjadi semakin popular di kalangan pembangun. Artikel ini akan memperkenalkan ciri dan senario yang boleh digunakan bagi ketiga-tiga rangka kerja ini, digabungkan dengan contoh kod khusus, untuk membantu anda memilih rangka kerja yang paling sesuai dengan keperluan pembangunan anda. 1. D

Membina Laman Web Berbilang Bahasa dengan PHP: Menghapuskan Halangan Bahasa Membina Laman Web Berbilang Bahasa dengan PHP: Menghapuskan Halangan Bahasa Feb 19, 2024 pm 07:10 PM

1. Sediakan pangkalan data untuk mencipta jadual baharu untuk data berbilang bahasa, termasuk medan berikut: CREATETABLEtranslations(idINTNOTNULLAUTO_INCREMENT,localeVARCHAR(255)NOTNULL,keyVARCHAR(255)NOTNULL,valueTEXTNOTNULL,PRIMARYKEY(id) 2 di tapak web Tambahkan penukar bahasa ke bahagian atas atau bar sisi untuk membolehkan pengguna memilih bahasa pilihan mereka. //Dapatkan bahasa semasa $current_locale=isset($_GET["locale"])?$_

Cara menangani isu berbilang bahasa dan pengantarabangsaan dalam pembangunan PHP Cara menangani isu berbilang bahasa dan pengantarabangsaan dalam pembangunan PHP Oct 09, 2023 pm 04:24 PM

Cara menangani isu berbilang bahasa dan pengantarabangsaan dalam pembangunan PHP memerlukan contoh kod khusus Dengan perkembangan Internet, permintaan orang ramai untuk berbilang bahasa dan pengantarabangsaan semakin tinggi. Dalam pembangunan PHP, cara mengendalikan isu berbilang bahasa dan pengantarabangsaan dengan berkesan telah menjadi tugas penting yang perlu diselesaikan oleh pembangun. Pengendalian pengekodan aksara Dalam pembangunan PHP, kita mesti terlebih dahulu memastikan pengekodan aksara dikendalikan dengan betul. Dalam persekitaran berbilang bahasa, menggunakan pengekodan UTF-8 ialah pilihan yang paling biasa. Anda boleh menambah kod berikut pada kepala fail PHP: header('C

Cara menggunakan rangka kerja Hyperf untuk sokongan pengantarabangsaan Cara menggunakan rangka kerja Hyperf untuk sokongan pengantarabangsaan Oct 22, 2023 am 08:14 AM

Cara menggunakan rangka kerja Hyperf untuk sokongan antarabangsa Dengan perkembangan globalisasi yang pesat, banyak aplikasi perlu mempunyai fungsi sokongan berbilang bahasa untuk memenuhi keperluan pengguna di negara dan wilayah yang berbeza. Sebagai rangka kerja yang ringan dan berprestasi tinggi, rangka kerja Hyperf menyediakan fungsi sokongan antarabangsa dan boleh membantu pembangun membangunkan aplikasi berbilang bahasa dengan cepat. Artikel ini akan memperkenalkan cara menggunakan fungsi pengantarabangsaan dalam rangka kerja Hyperf dan memberikan contoh kod yang sepadan. 1. Konfigurasikan sokongan berbilang bahasa Pertama, anda perlu mengkonfigurasi fail konfigurasi Hyperf.

See all articles