Browse Source

๐ŸŒ Add Korean translation for `docs/ko/docs/tutorial/request-form-models.md` (#13002)

pull/13018/head
hy.lee 4 months ago
committed by GitHub
parent
commit
5e8fa0e842
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 78
      docs/ko/docs/tutorial/request-form-models.md

78
docs/ko/docs/tutorial/request-form-models.md

@ -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์—์„œ ํผ ํ•„๋“œ๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜Ž
Loadingโ€ฆ
Cancel
Save