]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
๐ŸŒ Add Korean translation for `docs/ko/docs/tutorial/request-form-models.md` (#13002)
authorhy.lee <rurouni24@gmail.com>
Mon, 9 Dec 2024 12:44:27 +0000 (21:44 +0900)
committerGitHub <noreply@github.com>
Mon, 9 Dec 2024 12:44:27 +0000 (12:44 +0000)
docs/ko/docs/tutorial/request-form-models.md [new file with mode: 0644]

diff --git a/docs/ko/docs/tutorial/request-form-models.md b/docs/ko/docs/tutorial/request-form-models.md
new file mode 100644 (file)
index 0000000..3316a93
--- /dev/null
@@ -0,0 +1,78 @@
+# ํผ ๋ชจ๋ธ
+
+FastAPI์—์„œ **Pydantic ๋ชจ๋ธ**์„ ์ด์šฉํ•˜์—ฌ **ํผ ํ•„๋“œ**๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
+
+/// info | ์ •๋ณด
+
+ํผ(Form)์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ๋จผ์ € <a href="https://github.com/Kludex/python-multipart" class="external-link" target="_blank">`python-multipart`</a>๋ฅผ ์„ค์น˜ํ•˜์„ธ์š”.
+
+[๊ฐ€์ƒ ํ™˜๊ฒฝ](../virtual-environments.md){.internal-link target=_blank}์„ ์ƒ์„ฑํ•˜๊ณ  ํ™œ์„ฑํ™”ํ•œ ๋‹ค์Œ, ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
+
+```console
+$ pip install python-multipart
+```
+
+///
+
+/// note | ์ฐธ๊ณ 
+
+์ด ๊ธฐ๋Šฅ์€ FastAPI ๋ฒ„์ „ `0.113.0` ์ดํ›„๋ถ€ํ„ฐ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ๐Ÿค“
+
+///
+
+## Pydantic ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ ํผ
+
+**ํผ ํ•„๋“œ**๋กœ ๋ฐ›๊ณ  ์‹ถ์€ ํ•„๋“œ๋ฅผ **Pydantic ๋ชจ๋ธ**๋กœ ์„ ์–ธํ•œ ๋‹ค์Œ, ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ `Form`์œผ๋กœ ์„ ์–ธํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค:
+
+{* ../../docs_src/request_form_models/tutorial001_an_py39.py hl[9:11,15] *}
+
+**FastAPI**๋Š” ์š”์ฒญ์—์„œ ๋ฐ›์€ **ํผ ๋ฐ์ดํ„ฐ**์—์„œ **๊ฐ ํ•„๋“œ**์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ **์ถ”์ถœ**ํ•˜๊ณ  ์ •์˜ํ•œ Pydantic ๋ชจ๋ธ์„ ์ค๋‹ˆ๋‹ค.
+
+## ๋ฌธ์„œ ํ™•์ธํ•˜๊ธฐ
+
+๋ฌธ์„œ UI `/docs`์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
+
+<div class="screenshot">
+<img src="/img/tutorial/request-form-models/image01.png">
+</div>
+
+## ์ถ”๊ฐ€ ํผ ํ•„๋“œ ๊ธˆ์ง€ํ•˜๊ธฐ
+
+์ผ๋ถ€ ํŠน๋ณ„ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€(ํ”ํ•˜์ง€๋Š” ์•Š๊ฒ ์ง€๋งŒ)์—์„œ๋Š” Pydantic ๋ชจ๋ธ์—์„œ ์ •์˜ํ•œ ํผ ํ•„๋“œ๋ฅผ **์ œํ•œ**ํ•˜๊ธธ ์›ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  **์ถ”๊ฐ€** ํ•„๋“œ๋ฅผ **๊ธˆ์ง€**ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
+
+/// note | ์ฐธ๊ณ 
+
+์ด ๊ธฐ๋Šฅ์€ FastAPI ๋ฒ„์ „ `0.114.0` ์ดํ›„๋ถ€ํ„ฐ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ๐Ÿค“
+
+///
+
+Pydantic์˜ ๋ชจ๋ธ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€(`extra`) ํ•„๋“œ๋ฅผ ๊ธˆ์ง€(`forbid`)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
+
+{* ../../docs_src/request_form_models/tutorial002_an_py39.py hl[12] *}
+
+ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋ ค๊ณ  ํ•˜๋ฉด **์˜ค๋ฅ˜** ์‘๋‹ต์„ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
+
+์˜ˆ๋ฅผ ๋“ค์–ด, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํผ ํ•„๋“œ๋ฅผ ๋ณด๋‚ด๋ ค๊ณ  ํ•˜๋ฉด:
+
+* `username`: `Rick`
+* `password`: `Portal Gun`
+* `extra`: `Mr. Poopybutthole`
+
+`extra` ํ•„๋“œ๊ฐ€ ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์˜ค๋ฅ˜ ์‘๋‹ต์„ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค:
+
+```json
+{
+    "detail": [
+        {
+            "type": "extra_forbidden",
+            "loc": ["body", "extra"],
+            "msg": "Extra inputs are not permitted",
+            "input": "Mr. Poopybutthole"
+        }
+    ]
+}
+```
+
+## ์š”์•ฝ
+
+Pydantic ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ FastAPI์—์„œ ํผ ํ•„๋“œ๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜Ž