From: 雨过初晴 <129537877+ChoyeonChern@users.noreply.github.com>
Date: Thu, 22 Jun 2023 16:18:04 +0000 (+0800)
Subject: 🌐 Add Chinese translations for `docs/zh/docs/advanced/settings.md` (#9652)
X-Git-Tag: 0.98.0~33
X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=804a0a90cf6e7ed03a171db759c8b7cb632b5316;p=thirdparty%2Ffastapi%2Ffastapi.git
🌐 Add Chinese translations for `docs/zh/docs/advanced/settings.md` (#9652)
---
diff --git a/docs/zh/docs/advanced/settings.md b/docs/zh/docs/advanced/settings.md
new file mode 100644
index 0000000000..597e99a779
--- /dev/null
+++ b/docs/zh/docs/advanced/settings.md
@@ -0,0 +1,433 @@
+# 设置åç¯å¢åé
+
+å¨è®¸å¤æ
åµä¸ï¼æ¨çåºç¨ç¨åºå¯è½éè¦ä¸äºå¤é¨è®¾ç½®æé
ç½®ï¼ä¾å¦å¯é¥ãæ°æ®åºåæ®ãçµåé®ä»¶æå¡çåæ®ççã
+
+è¿äºè®¾ç½®ä¸ç大夿°æ¯å¯åçï¼å¯ä»¥æ´æ¹çï¼ï¼æ¯å¦æ°æ®åºç URLãèä¸è®¸å¤è®¾ç½®å¯è½æ¯ææçï¼æ¯å¦å¯é¥ã
+
+å æ¤ï¼é常ä¼å°å®ä»¬æä¾ä¸ºç±åºç¨ç¨åºè¯»åçç¯å¢åéã
+
+## ç¯å¢åé
+
+!!! tip
+ 妿æ¨å·²ç»ç¥éä»ä¹æ¯"ç¯å¢åé"以åå¦ä½ä½¿ç¨å®ä»¬ï¼è¯·éæè·³å°ä¸é¢çä¸ä¸èã
+
+ç¯å¢åéï¼ä¹ç§°ä¸º"env var"ï¼æ¯ä¸ç§åå¨äº Python 代ç ä¹å¤ãåå¨äºæä½ç³»ç»ä¸çåéï¼å¯ä»¥è¢«æ¨ç Python 代ç ï¼æå
¶ä»ç¨åºï¼è¯»åã
+
+æ¨å¯ä»¥å¨ shell ä¸å建å使ç¨ç¯å¢åéï¼èæ éä½¿ç¨ Pythonï¼
+
+=== "LinuxãmacOSãWindows Bash"
+
+
+
+ ```console
+ // æ¨å¯ä»¥å建ä¸ä¸ªå为 MY_NAME çç¯å¢åé
+ $ export MY_NAME="Wade Wilson"
+
+ // ç¶åæ¨å¯ä»¥ä¸å
¶ä»ç¨åºä¸èµ·ä½¿ç¨å®ï¼ä¾å¦
+ $ echo "Hello $MY_NAME"
+
+ Hello Wade Wilson
+ ```
+
+
+
+=== "Windows PowerShell"
+
+
+
+ ```console
+ // å建ä¸ä¸ªå为 MY_NAME çç¯å¢åé
+ $ $Env:MY_NAME = "Wade Wilson"
+
+ // ä¸å
¶ä»ç¨åºä¸èµ·ä½¿ç¨å®ï¼ä¾å¦
+ $ echo "Hello $Env:MY_NAME"
+
+ Hello Wade Wilson
+ ```
+
+
+
+### å¨ Python ä¸è¯»åç¯å¢åé
+
+æ¨è¿å¯ä»¥å¨ Python ä¹å¤çå°æ¹ï¼ä¾å¦ç»ç«¯ä¸æä½¿ç¨ä»»ä½å
¶ä»æ¹æ³ï¼å建ç¯å¢åéï¼ç¶åå¨ Python ä¸è¯»åå®ä»¬ã
+
+ä¾å¦ï¼æ¨å¯ä»¥æä¸ä¸ªå为 `main.py` çæä»¶ï¼å
¶ä¸å
å«ä»¥ä¸å
容ï¼
+
+```Python hl_lines="3"
+import os
+
+name = os.getenv("MY_NAME", "World")
+print(f"Hello {name} from Python")
+```
+
+!!! tip
+ `os.getenv()` ç第äºä¸ªåæ°æ¯è¦è¿åçé»è®¤å¼ã
+
+ å¦ææ²¡ææä¾é»è®¤å¼ï¼é»è®¤ä¸º `None`ï¼æ¤å¤æä»¬æä¾äº `"World"` ä½ä¸ºè¦ä½¿ç¨çé»è®¤å¼ã
+
+ç¶åï¼æ¨å¯ä»¥è°ç¨è¯¥ Python ç¨åºï¼
+
+
+
+```console
+// è¿éæä»¬è¿æ²¡æè®¾ç½®ç¯å¢åé
+$ python main.py
+
+// å 为æä»¬æ²¡æè®¾ç½®ç¯å¢åéï¼æä»¥æä»¬å¾å°é»è®¤å¼
+
+Hello World from Python
+
+// 使¯å¦ææä»¬å
å建ä¸ä¸ªç¯å¢åé
+$ export MY_NAME="Wade Wilson"
+
+// ç¶å忬¡è°ç¨ç¨åº
+$ python main.py
+
+// ç°å¨å®å¯ä»¥è¯»åç¯å¢åé
+
+Hello Wade Wilson from Python
+```
+
+
+
+ç±äºç¯å¢åéå¯ä»¥å¨ä»£ç ä¹å¤è®¾ç½®ï¼ä½å¯ä»¥ç±ä»£ç 读åï¼å¹¶ä¸ä¸éè¦ä¸å
¶ä»æä»¶ä¸èµ·åå¨ï¼æäº¤å° `git`ï¼ï¼å æ¤é常å°å®ä»¬ç¨äºé
ç½®æè®¾ç½®ã
+
+
+
+æ¨è¿å¯ä»¥ä»
为ç¹å®ç¨åºè°ç¨å建ä¸ä¸ªç¯å¢åéï¼è¯¥ç¯å¢åéä»
对该ç¨åºå¯ç¨ï¼å¹¶ä¸ä»
å¨å
¶è¿è¡æé´ææã
+
+è¦åå°è¿ä¸ç¹ï¼å¨ç¨åºæ¬èº«ä¹åçåä¸è¡å建å®ï¼
+
+
+
+```console
+// 卿¤ç¨åºè°ç¨è¡ä¸å建ä¸ä¸ªå为 MY_NAME çç¯å¢åé
+$ MY_NAME="Wade Wilson" python main.py
+
+// ç°å¨å®å¯ä»¥è¯»åç¯å¢åé
+
+Hello Wade Wilson from Python
+
+// ä¹åç¯å¢åéä¸ååå¨
+$ python main.py
+
+Hello World from Python
+```
+
+
+
+!!! tip
+ æ¨å¯ä»¥å¨ Twelve-Factor App: Config ä¸é
读æ´å¤ç¸å
³ä¿¡æ¯ã
+
+### ç±»ååéªè¯
+
+è¿äºç¯å¢åéåªè½å¤çææ¬å符串ï¼å 为å®ä»¬æ¯å¤é¨äº Python çï¼å¹¶ä¸å¿
é¡»ä¸å
¶ä»ç¨åºåæ´ä¸ªç³»ç»å
¼å®¹ï¼çè³ä¸ä¸åçæä½ç³»ç»ï¼å¦ LinuxãWindowsãmacOSï¼ã
+
+è¿æå³çä»ç¯å¢åéä¸å¨ Python ä¸è¯»åçä»»ä½å¼é½å°æ¯ `str` ç±»åï¼ä»»ä½ç±»åçè½¬æ¢æéªè¯é½å¿
é¡»å¨ä»£ç ä¸å®æã
+
+## Pydantic ç `Settings`
+
+幸è¿çæ¯ï¼Pydantic æä¾äºä¸ä¸ªå¾å¥½çå·¥å
·æ¥å¤çæ¥èªç¯å¢åéç设置ï¼å³Pydantic: Settings managementã
+
+### å建 `Settings` 对象
+
+ä» Pydantic 导å
¥ `BaseSettings` å¹¶å建ä¸ä¸ªåç±»ï¼ä¸ Pydantic 模åé常ç¸ä¼¼ã
+
+ä¸ Pydantic 模å䏿 ·ï¼æ¨ä½¿ç¨ç±»å注é声æç±»å±æ§ï¼è¿å¯ä»¥æå®é»è®¤å¼ã
+
+æ¨å¯ä»¥ä½¿ç¨ä¸ Pydantic 模åç¸åçéªè¯åè½åå·¥å
·ï¼æ¯å¦ä¸åçæ°æ®ç±»ååä½¿ç¨ `Field()` è¿è¡éå éªè¯ã
+
+```Python hl_lines="2 5-8 11"
+{!../../../docs_src/settings/tutorial001.py!}
+```
+
+!!! tip
+ 妿æ¨éè¦ä¸ä¸ªå¿«éçå¤å¶ç²è´´ç¤ºä¾ï¼è¯·ä¸è¦ä½¿ç¨æ¤ç¤ºä¾ï¼èåºä½¿ç¨ä¸é¢çæåä¸ä¸ªç¤ºä¾ã
+
+ç¶åï¼å½æ¨å建该 `Settings` ç±»çå®ä¾ï¼å¨æ¤ç¤ºä¾ä¸æ¯ `settings` å¯¹è±¡ï¼æ¶ï¼Pydantic å°ä»¥ä¸åºå大å°åçæ¹å¼è¯»åç¯å¢åéï¼å æ¤ï¼å¤§åçåé `APP_NAME` ä»å°ä¸ºå±æ§ `app_name` 读åã
+
+ç¶åï¼å®å°è½¬æ¢åéªè¯æ°æ®ãå æ¤ï¼å½æ¨ä½¿ç¨è¯¥ `settings` 对象æ¶ï¼æ¨å°è·å¾æ¨å£°æçç±»åçæ°æ®ï¼ä¾å¦ `items_per_user` å°ä¸º `int` ç±»åï¼ã
+
+### ä½¿ç¨ `settings`
+
+ç¶åï¼æ¨å¯ä»¥å¨åºç¨ç¨åºä¸ä½¿ç¨æ°ç `settings` 对象ï¼
+
+```Python hl_lines="18-20"
+{!../../../docs_src/settings/tutorial001.py!}
+```
+
+### è¿è¡æå¡å¨
+
+æ¥ä¸æ¥ï¼æ¨å°è¿è¡æå¡å¨ï¼å¹¶å°é
ç½®ä½ä¸ºç¯å¢åéä¼ éãä¾å¦ï¼æ¨å¯ä»¥è®¾ç½®ä¸ä¸ª `ADMIN_EMAIL` å `APP_NAME`ï¼å¦ä¸æç¤ºï¼
+
+
+
+```console
+$ ADMIN_EMAIL="deadpool@example.com" APP_NAME="ChimichangApp"uvicorn main:app
+
+INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
+```
+
+
+
+!!! tip
+ è¦ä¸ºå个å½ä»¤è®¾ç½®å¤ä¸ªç¯å¢åéï¼åªéç¨ç©ºæ ¼åéå®ä»¬ï¼å¹¶å°å®ä»¬å
¨é¨æ¾å¨å½ä»¤ä¹åã
+
+ç¶åï¼`admin_email` 设置å°ä¸º `"deadpool@example.com"`ã
+
+`app_name` å°ä¸º `"ChimichangApp"`ã
+
+è `items_per_user` å°ä¿æå
¶é»è®¤å¼ä¸º `50`ã
+
+## å¨å¦ä¸ä¸ªæ¨¡åä¸è®¾ç½®
+
+æ¨å¯ä»¥å°è¿äºè®¾ç½®æ¾å¨å¦ä¸ä¸ªæ¨¡åæä»¶ä¸ï¼å°±åæ¨å¨[Bigger Applications - Multiple Files](../tutorial/bigger-applications.md){.internal-link target=_blank}䏿è§ç飿 ·ã
+
+ä¾å¦ï¼æ¨å¯ä»¥å建ä¸ä¸ªå为 `config.py` çæä»¶ï¼å
¶ä¸å
å«ä»¥ä¸å
容ï¼
+
+```Python
+{!../../../docs_src/settings/app01/config.py!}
+```
+
+ç¶åå¨ä¸ä¸ªå为 `main.py` çæä»¶ä¸ä½¿ç¨å®ï¼
+
+```Python hl_lines="3 11-13"
+{!../../../docs_src/settings/app01/main.py!}
+```
+!!! tip
+ æ¨è¿éè¦ä¸ä¸ªå为 `__init__.py` çæä»¶ï¼å°±åæ¨å¨[Bigger Applications - Multiple Files](../tutorial/bigger-applications.md){.internal-link target=_blank}ä¸çå°ç飿 ·ã
+
+## å¨ä¾èµé¡¹ä¸ä½¿ç¨è®¾ç½®
+
+å¨æäºæ
åµä¸ï¼ä»ä¾èµé¡¹ä¸æä¾è®¾ç½®å¯è½æ¯å¨ææå°æ¹é½ä½¿ç¨å
¨å±å¯¹è±¡ `settings` æ´æç¨ã
+
+è¿å¨æµè¯æé´å°¤å
¶æç¨ï¼å 为å¾å®¹æç¨èªå®ä¹è®¾ç½®è¦çä¾èµé¡¹ã
+
+### é
ç½®æä»¶
+
+æ ¹æ®åé¢ç示ä¾ï¼æ¨ç `config.py` æä»¶å¯è½å¦ä¸æç¤ºï¼
+
+```Python hl_lines="10"
+{!../../../docs_src/settings/app02/config.py!}
+```
+
+请注æï¼ç°å¨æä»¬ä¸å建é»è®¤å®ä¾ `settings = Settings()`ã
+
+### 主åºç¨ç¨åºæä»¶
+
+ç°å¨æä»¬å建ä¸ä¸ªä¾èµé¡¹ï¼è¿åä¸ä¸ªæ°ç `config.Settings()`ã
+
+=== "Python 3.9+"
+
+ ```Python hl_lines="6 12-13"
+ {!> ../../../docs_src/settings/app02_an_py39/main.py!}
+ ```
+
+=== "Python 3.6+"
+
+ ```Python hl_lines="6 12-13"
+ {!> ../../../docs_src/settings/app02_an/main.py!}
+ ```
+
+=== "Python 3.6+ éæ³¨è§£çæ¬"
+
+ !!! tip
+ 妿å¯è½ï¼è¯·å°½éä½¿ç¨ `Annotated` çæ¬ã
+
+ ```Python hl_lines="5 11-12"
+ {!> ../../../docs_src/settings/app02/main.py!}
+ ```
+
+!!! tip
+ æä»¬ç¨åä¼è®¨è®º `@lru_cache()`ã
+
+ ç®åï¼æ¨å¯ä»¥å° `get_settings()` è§ä¸ºæ®é彿°ã
+
+ç¶åï¼æä»¬å¯ä»¥å°å
¶ä½ä¸ºä¾èµé¡¹ä»âè·¯å¾æä½å½æ°âä¸å¼å
¥ï¼å¹¶å¨éè¦æ¶ä½¿ç¨å®ã
+
+=== "Python 3.9+"
+
+ ```Python hl_lines="17 19-21"
+ {!> ../../../docs_src/settings/app02_an_py39/main.py!}
+ ```
+
+=== "Python 3.6+"
+
+ ```Python hl_lines="17 19-21"
+ {!> ../../../docs_src/settings/app02_an/main.py!}
+ ```
+
+=== "Python 3.6+ éæ³¨è§£çæ¬"
+
+ !!! tip
+ 妿å¯è½ï¼è¯·å°½éä½¿ç¨ `Annotated` çæ¬ã
+
+ ```Python hl_lines="16 18-20"
+ {!> ../../../docs_src/settings/app02/main.py!}
+ ```
+
+### è®¾ç½®åæµè¯
+
+ç¶åï¼å¨æµè¯æé´ï¼éè¿å建 `get_settings` çä¾èµé¡¹è¦çï¼å¾å®¹ææä¾ä¸ä¸ªä¸åç设置对象ï¼
+
+```Python hl_lines="9-10 13 21"
+{!../../../docs_src/settings/app02/test_main.py!}
+```
+
+å¨ä¾èµé¡¹è¦çä¸ï¼æä»¬å¨å建æ°ç `Settings` 对象æ¶ä¸º `admin_email` 设置äºä¸ä¸ªæ°å¼ï¼ç¶åè¿å该æ°å¯¹è±¡ã
+
+ç¶åï¼æä»¬å¯ä»¥æµè¯å®æ¯å¦è¢«ä½¿ç¨ã
+
+## ä» `.env` æä»¶ä¸è¯»å设置
+
+å¦ææ¨æè®¸å¤å¯è½ç»å¸¸æ´æ¹ç设置ï¼å¯è½å¨ä¸åçç¯å¢ä¸ï¼å°å®ä»¬æ¾å¨ä¸ä¸ªæä»¶ä¸ï¼ç¶åä»è¯¥æä»¶ä¸è¯»åå®ä»¬ï¼å°±åå®ä»¬æ¯ç¯å¢åé䏿 ·ï¼å¯è½é常æç¨ã
+
+è¿ç§åæ³ç¸å½å¸¸è§ï¼æä¸ä¸ªåç§°ï¼è¿äºç¯å¢åéé常æ¾å¨ä¸ä¸ªå为 `.env` çæä»¶ä¸ï¼è¯¥æä»¶è¢«ç§°ä¸ºâdotenvâã
+
+!!! tip
+ ä»¥ç¹ (`.`) å¼å¤´çæä»¶æ¯ Unix-like ç³»ç»ï¼å¦ Linux å macOSï¼ä¸çéèæä»¶ã
+
+ 使¯ï¼dotenv æä»¶å®é
ä¸ä¸ä¸å®è¦å
·æç¡®åçæä»¶åã
+
+Pydantic æ¯æä½¿ç¨å¤é¨åºä»è¿äºç±»åçæä»¶ä¸è¯»åãæ¨å¯ä»¥å¨Pydantic 设置: Dotenv (.env) æ¯æä¸é
读æ´å¤ç¸å
³ä¿¡æ¯ã
+
+!!! tip
+ è¦ä½¿å
¶å·¥ä½ï¼æ¨éè¦æ§è¡ `pip install python-dotenv`ã
+
+### `.env` æä»¶
+
+æ¨å¯ä»¥ä½¿ç¨ä»¥ä¸å
容å建ä¸ä¸ªå为 `.env` çæä»¶ï¼
+
+```bash
+ADMIN_EMAIL="deadpool@example.com"
+APP_NAME="ChimichangApp"
+```
+
+### ä» `.env` æä»¶ä¸è¯»å设置
+
+ç¶åï¼æ¨å¯ä»¥ä½¿ç¨ä»¥ä¸æ¹å¼æ´æ°æ¨ç `config.py`ï¼
+
+```Python hl_lines="9-10"
+{!../../../docs_src/settings/app03/config.py!}
+```
+
+å¨è¿éï¼æä»¬å¨ Pydantic ç `Settings` ç±»ä¸å建äºä¸ä¸ªå为 `Config` çç±»ï¼å¹¶å° `env_file` 设置为æä»¬æ³è¦ä½¿ç¨ç dotenv æä»¶çæä»¶åã
+
+!!! tip
+ `Config` ç±»ä»
ç¨äº Pydantic é
ç½®ãæ¨å¯ä»¥å¨Pydantic Model Configä¸é
读æ´å¤ç¸å
³ä¿¡æ¯ã
+
+### ä½¿ç¨ `lru_cache` ä»
åå»ºä¸æ¬¡ `Settings`
+
+ä»ç£çä¸è¯»åæä»¶é常æ¯ä¸é¡¹èæ¶çï¼æ
¢ï¼æä½ï¼å æ¤æ¨å¯è½å¸æä»
å¨é¦æ¬¡è¯»ååå¹¶éå¤ä½¿ç¨ç¸åç设置对象ï¼è䏿¯ä¸ºæ¯ä¸ªè¯·æ±é½è¯»åå®ã
+
+使¯ï¼æ¯æ¬¡æ§è¡ä»¥ä¸æä½ï¼
+
+```Python
+Settings()
+```
+
+é½ä¼å建ä¸ä¸ªæ°ç `Settings` 对象ï¼å¹¶ä¸å¨å建æ¶ä¼å次读å `.env` æä»¶ã
+
+妿ä¾èµé¡¹å½æ°åªæ¯è¿æ ·çï¼
+
+```Python
+def get_settings():
+ return Settings()
+```
+
+æä»¬å°ä¸ºæ¯ä¸ªè¯·æ±å建该对象ï¼å¹¶ä¸å°å¨æ¯ä¸ªè¯·æ±ä¸è¯»å `.env` æä»¶ã â ï¸
+
+使¯ï¼ç±äºæä»¬å¨é¡¶é¨ä½¿ç¨äº `@lru_cache()` è£
饰å¨ï¼å æ¤åªæå¨ç¬¬ä¸æ¬¡è°ç¨å®æ¶ï¼æä¼å建 `Settings` å¯¹è±¡ä¸æ¬¡ã âï¸
+
+=== "Python 3.9+"
+
+ ```Python hl_lines="1 11"
+ {!> ../../../docs_src/settings/app03_an_py39/main.py!}
+ ```
+
+=== "Python 3.6+"
+
+ ```Python hl_lines="1 11"
+ {!> ../../../docs_src/settings/app03_an/main.py!}
+ ```
+
+=== "Python 3.6+ éæ³¨è§£çæ¬"
+
+ !!! tip
+ 妿å¯è½ï¼è¯·å°½éä½¿ç¨ `Annotated` çæ¬ã
+
+ ```Python hl_lines="1 10"
+ {!> ../../../docs_src/settings/app03/main.py!}
+ ```
+
+ç¶åï¼å¨ä¸ä¸æ¬¡è¯·æ±çä¾èµé¡¹ä¸å¯¹ `get_settings()` è¿è¡ä»»ä½åç»è°ç¨æ¶ï¼å®ä¸ä¼æ§è¡ `get_settings()` çå
é¨ä»£ç å¹¶å建æ°ç `Settings` 对象ï¼èæ¯è¿åå¨ç¬¬ä¸æ¬¡è°ç¨æ¶è¿åçç¸å对象ï¼ä¸æ¬¡å䏿¬¡ã
+
+#### `lru_cache` ææ¯ç»è
+
+`@lru_cache()` ä¿®æ¹äºå®æè£
饰ç彿°ï¼ä»¥è¿åç¬¬ä¸æ¬¡è¿åçç¸åå¼ï¼è䏿¯å次计ç®å®ï¼æ¯æ¬¡é½æ§è¡å½æ°ç代ç ã
+
+å æ¤ï¼ä¸é¢ç彿°å°å¯¹æ¯ä¸ªåæ°ç»åæ§è¡ä¸æ¬¡ãç¶åï¼æ¯ä¸ªåæ°ç»åè¿åçå¼å°å¨ä½¿ç¨å®å
¨ç¸åçåæ°ç»åè°ç¨å½æ°æ¶å次使ç¨ã
+
+ä¾å¦ï¼å¦ææ¨æä¸ä¸ªå½æ°ï¼
+```Python
+@lru_cache()
+def say_hi(name: str, salutation: str = "Ms."):
+ return f"Hello {salutation} {name}"
+```
+
+æ¨çç¨åºå¯ä»¥åè¿æ ·æ§è¡ï¼
+
+```mermaid
+sequenceDiagram
+
+participant code as Code
+participant function as say_hi()
+participant execute as Execute function
+
+ rect rgba(0, 255, 0, .1)
+ code ->> function: say_hi(name="Camila")
+ function ->> execute: æ§è¡å½æ°ä»£ç
+ execute ->> code: è¿åç»æ
+ end
+
+ rect rgba(0, 255, 255, .1)
+ code ->> function: say_hi(name="Camila")
+ function ->> code: è¿ååå¨çç»æ
+ end
+
+ rect rgba(0, 255, 0, .1)
+ code ->> function: say_hi(name="Rick")
+ function ->> execute: æ§è¡å½æ°ä»£ç
+ execute ->> code: è¿åç»æ
+ end
+
+ rect rgba(0, 255, 0, .1)
+ code ->> function: say_hi(name="Rick", salutation="Mr.")
+ function ->> execute: æ§è¡å½æ°ä»£ç
+ execute ->> code: è¿åç»æ
+ end
+
+ rect rgba(0, 255, 255, .1)
+ code ->> function: say_hi(name="Rick")
+ function ->> code: è¿ååå¨çç»æ
+ end
+
+ rect rgba(0, 255, 255, .1)
+ code ->> function: say_hi(name="Camila")
+ function ->> code: è¿ååå¨çç»æ
+ end
+```
+
+å¯¹äºæä»¬çä¾èµé¡¹ `get_settings()`ï¼è¯¥å½æ°çè³ä¸æ¥åä»»ä½åæ°ï¼å æ¤å®å§ç»è¿åç¸åçå¼ã
+
+è¿æ ·ï¼å®çè¡ä¸ºå ä¹å°±åæ¯ä¸ä¸ªå
¨å±åéã使¯ç±äºå®ä½¿ç¨äºä¾èµé¡¹å½æ°ï¼å æ¤æä»¬å¯ä»¥è½»æ¾å°è¿è¡æµè¯æ¶çè¦çã
+
+`@lru_cache()` æ¯ `functools` çä¸é¨åï¼å®æ¯ Python æ ååºçä¸é¨åï¼æ¨å¯ä»¥å¨Python ææ¡£ä¸äºè§£æå
³ `@lru_cache()` çæ´å¤ä¿¡æ¯ã
+
+## å°ç»
+
+æ¨å¯ä»¥ä½¿ç¨ Pydantic 设置å¤çåºç¨ç¨åºç设置æé
ç½®ï¼å©ç¨ Pydantic 模åçææåè½ã
+
+* éè¿ä½¿ç¨ä¾èµé¡¹ï¼æ¨å¯ä»¥ç®åæµè¯ã
+* æ¨å¯ä»¥ä½¿ç¨ `.env` æä»¶ã
+* ä½¿ç¨ `@lru_cache()` å¯ä»¥é¿å
为æ¯ä¸ªè¯·æ±éå¤è¯»å dotenv æä»¶ï¼åæ¶å
许æ¨å¨æµè¯æ¶è¿è¡è¦çã
diff --git a/docs/zh/mkdocs.yml b/docs/zh/mkdocs.yml
index 6c5001e2a3..0e09101ebe 100644
--- a/docs/zh/mkdocs.yml
+++ b/docs/zh/mkdocs.yml
@@ -119,6 +119,7 @@ nav:
- advanced/custom-response.md
- advanced/response-cookies.md
- advanced/response-change-status-code.md
+ - advanced/settings.md
- advanced/response-headers.md
- advanced/websockets.md
- advanced/wsgi.md