🔧 Add pre-commit with first config and first formatting pass (#4888)

* 🔧 Add first pre-commit config

* 🎨 Format YAML files with pre-commit

* 🎨 Format Markdown with pre-commit

* 🎨 Format SVGs, drawio, JS, HTML with pre-commit

* ➕ Add pre-commit to dev dependencies

* ⬇️ Extend pre-commit range to support Python 3.6
This commit is contained in:
Sebastián Ramírez authored and GitHub committed 2022-05-12 00:06:16 +00:00
1 parent 9cbd42b13e
commit 3d0f130ff3
119 files changed
+228 -221

No files matched your search

+2 -2
View File
@@ -114,7 +114,7 @@ APIはほとんどの場合 **レスポンス** ボディを送らなければ
<a href="https://www.jetbrains.com/pycharm/" class="external-link" target="_blank">PyCharm</a>エディタを使用している場合は、<a href="https://github.com/koxudaxi/pydantic-pycharm-plugin/" class="external-link" target="_blank">Pydantic PyCharm Plugin</a>が使用可能です。
以下のエディターサポートが強化されます:
* 自動補完
* 型チェック
* リファクタリング
@@ -157,7 +157,7 @@ APIはほとんどの場合 **レスポンス** ボディを送らなければ
!!! note "備考"
FastAPIは、`= None`があるおかげで、`q`がオプショナルだとわかります。
`Optional[str]` の`Optional` はFastAPIでは使用されていません(FastAPIは`str`の部分のみ使用します)。しかし、`Optional[str]` はエディタがコードのエラーを見つけるのを助けてくれます。
## Pydanticを使わない方法
+1 -1
View File
@@ -35,7 +35,7 @@
!!! tip "豆知識"
<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers" class="external-link" target="_blank">'X-'プレフィックスを使用</a>してカスタムの独自ヘッダーを追加できます。
ただし、ブラウザのクライアントに表示させたいカスタムヘッダーがある場合は、<a href="https://www.starlette.io/middleware/#corsmiddleware" class="external-link" target="_blank">StarletteのCORSドキュメント</a>に記載されているパラメータ `expose_headers` を使用して、それらをCORS設定に追加する必要があります ([CORS (オリジン間リソース共有)](cors.md){.internal-link target=_blank})
ただし、ブラウザのクライアントに表示させたいカスタムヘッダーがある場合は、<a href="https://www.starlette.io/middleware/#corsmiddleware" class="external-link" target="_blank">StarletteのCORSドキュメント</a>に記載されているパラメータ `expose_headers` を使用して、それらをCORS設定に追加する必要があります ([CORS (オリジン間リソース共有)](cors.md){.internal-link target=_blank})
!!! note "技術詳細"
`from starlette.requests import Request` を使用することもできます。
+1 -1
View File
@@ -139,7 +139,7 @@ Pythonのformat文字列と同様のシンタックスで「パスパラメー
### *パスパラメータ*の宣言
次に、作成したenumクラスである`ModelName`を使用した型アノテーションをもつ*パスパラメータ*を作成します:
次に、作成したenumクラスである`ModelName`を使用した型アノテーションをもつ*パスパラメータ*を作成します:
```Python hl_lines="16"
{!../../../docs_src/path_params/tutorial005.py!}
+3 -3
View File
@@ -18,7 +18,7 @@ http://127.0.0.1:8000/items/?skip=0&limit=10
...クエリパラメータは:
* `skip`: 値は `0`
* `limit`: 値は `10`
* `limit`: 値は `10`
これらはURLの一部なので、「自然に」文字列になります。
@@ -75,7 +75,7 @@ http://127.0.0.1:8000/items/?skip=20
!!! note "備考"
FastAPIは、`= None`があるおかげで、`q`がオプショナルだとわかります。
`Optional[str]` の`Optional` はFastAPIでは使用されていません(FastAPIは`str`の部分のみ使用します)。しかし、`Optional[str]` はエディタがコードのエラーを見つけるのを助けてくれます。
## クエリパラメータの型変換
@@ -116,7 +116,7 @@ http://127.0.0.1:8000/items/foo?short=on
http://127.0.0.1:8000/items/foo?short=yes
```
もしくは、他の大文字小文字のバリエーション (アッパーケース、最初の文字だけアッパーケース、など)で、関数は `short` パラメータを `True` な `bool` 値として扱います。それ以外は `False` になります。
もしくは、他の大文字小文字のバリエーション (アッパーケース、最初の文字だけアッパーケース、など)で、関数は `short` パラメータを `True` な `bool` 値として扱います。それ以外は `False` になります。
## 複数のパスパラメータとクエリパラメータ
+1 -1
View File
@@ -45,7 +45,7 @@ HTMLフォーム(`<form></form>`)がサーバにデータを送信する方
フォームからのデータは通常、`application/x-www-form-urlencoded`の「media type」を使用してエンコードされます。
しかし、フォームがファイルを含む場合は、`multipart/form-data`としてエンコードされます。ファイルの扱いについては次の章で説明します。
これらのエンコーディングやフォームフィールドの詳細については、<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST" class="external-link" target="_blank"><abbr title="Mozilla Developer Network">MDN</abbr>の<code>POST</code></a>のウェブドキュメントを参照してください。
!!! warning "注意"
+2 -2
View File
@@ -36,7 +36,7 @@
!!! tip "豆知識"
FastAPIアプリケーションへのリクエストの送信とは別に、テストで `async` 関数 (非同期データベース関数など) を呼び出したい場合は、高度なチュートリアルの[Async Tests](../advanced/async-tests.md){.internal-link target=_blank} を参照してください。
## テストの分離
実際のアプリケーションでは、おそらくテストを別のファイルに保存します。
@@ -112,7 +112,7 @@
`TestClient` は、Pydanticモデルではなく、JSONに変換できるデータを受け取ることに注意してください。
テストにPydanticモデルがあり、テスト中にそのデータをアプリケーションに送信したい場合は、[JSON互換エンコーダ](encoder.md){.internal-link target=_blank} で説明されている `jsonable_encoder` が利用できます。
## 実行
後は、`pytest` をインストールするだけです: