]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Add Russian translation for `docs/ru/docs/contributing.md` (#6002)
authorAleksandr Egorov <37377259+stigsanek@users.noreply.github.com>
Thu, 13 Apr 2023 18:04:30 +0000 (22:04 +0400)
committerGitHub <noreply@github.com>
Thu, 13 Apr 2023 18:04:30 +0000 (11:04 -0700)
Co-authored-by: stigsanek <alexander.e.egorov@pikta.ru>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
docs/ru/docs/contributing.md
docs/ru/docs/tutorial/extra-data-types.md [new file with mode: 0644]
docs/ru/mkdocs.yml

index cb460beb0779c37eb543f5777d732a57a3345033..f61ef1cb648a776c8326617e40e3ea7ae701b7b6 100644 (file)
@@ -82,7 +82,7 @@ $ python -m venv env
 
     </div>
 
-Ели в терминале появится ответ, что бинарник `pip` расположен по пути `.../env/bin/pip`, значит всё в порядке. 🎉
сли в терминале появится ответ, что бинарник `pip` расположен по пути `.../env/bin/pip`, значит всё в порядке. 🎉
 
 Во избежание ошибок в дальнейших шагах, удостоверьтесь, что в Вашем виртуальном окружении установлена последняя версия `pip`:
 
diff --git a/docs/ru/docs/tutorial/extra-data-types.md b/docs/ru/docs/tutorial/extra-data-types.md
new file mode 100644 (file)
index 0000000..efcbcb3
--- /dev/null
@@ -0,0 +1,82 @@
+# Дополнительные типы данных
+
+До сих пор вы использовали простые типы данных, такие как:
+
+* `int`
+* `float`
+* `str`
+* `bool`
+
+Но вы также можете использовать и более сложные типы.
+
+При этом у вас останутся те же возможности , что и до сих пор:
+
+* Отличная поддержка редактора.
+* Преобразование данных из входящих запросов.
+* Преобразование данных для ответа.
+* Валидация данных.
+* Автоматическая аннотация и документация.
+
+## Другие типы данных
+
+Ниже перечислены некоторые из дополнительных типов данных, которые вы можете использовать:
+
+* `UUID`:
+    * Стандартный "Универсальный уникальный идентификатор", используемый в качестве идентификатора во многих базах данных и системах.
+    * В запросах и ответах будет представлен как `str`.
+* `datetime.datetime`:
+    * Встроенный в Python `datetime.datetime`.
+    * В запросах и ответах будет представлен как `str` в формате ISO 8601, например: `2008-09-15T15:53:00+05:00`.
+* `datetime.date`:
+    * Встроенный в Python `datetime.date`.
+    * В запросах и ответах будет представлен как `str` в формате ISO 8601, например: `2008-09-15`.
+* `datetime.time`:
+    * Встроенный в Python `datetime.time`.
+    * В запросах и ответах будет представлен как `str` в формате ISO 8601, например: `14:23:55.003`.
+* `datetime.timedelta`:
+    * Встроенный в Python `datetime.timedelta`.
+    * В запросах и ответах будет представлен в виде общего количества секунд типа `float`.
+    * Pydantic также позволяет представить его как "Кодировку разницы во времени ISO 8601", <a href="https://pydantic-docs.helpmanual.io/usage/exporting_models/#json_encoders" class="external-link" target="_blank">см. документацию для получения дополнительной информации</a>.
+* `frozenset`:
+    * В запросах и ответах обрабатывается так же, как и `set`:
+        * В запросах будет прочитан список, исключены дубликаты и преобразован в `set`.
+        * В ответах `set` будет преобразован в `list`.
+        * В сгенерированной схеме будет указано, что значения `set` уникальны (с помощью JSON-схемы `uniqueItems`).
+* `bytes`:
+    * Встроенный в Python `bytes`.
+    * В запросах и ответах будет рассматриваться как `str`.
+    * В сгенерированной схеме будет указано, что это `str` в формате `binary`.
+* `Decimal`:
+    * Встроенный в Python `Decimal`.
+    * В запросах и ответах обрабатывается так же, как и `float`.
+* Вы можете проверить все допустимые типы данных pydantic здесь: <a href="https://pydantic-docs.helpmanual.io/usage/types" class="external-link" target="_blank">Типы данных Pydantic</a>.
+
+## Пример
+
+Вот пример *операции пути* с параметрами, который демонстрирует некоторые из вышеперечисленных типов.
+
+=== "Python 3.6 и выше"
+
+    ```Python hl_lines="1  3  12-16"
+    {!> ../../../docs_src/extra_data_types/tutorial001.py!}
+    ```
+
+=== "Python 3.10 и выше"
+
+    ```Python hl_lines="1  2  11-15"
+    {!> ../../../docs_src/extra_data_types/tutorial001_py310.py!}
+    ```
+
+Обратите внимание, что параметры внутри функции имеют свой естественный тип данных, и вы, например, можете выполнять обычные манипуляции с датами, такие как:
+
+=== "Python 3.6 и выше"
+
+    ```Python hl_lines="18-19"
+    {!> ../../../docs_src/extra_data_types/tutorial001.py!}
+    ```
+
+=== "Python 3.10 и выше"
+
+    ```Python hl_lines="17-18"
+    {!> ../../../docs_src/extra_data_types/tutorial001_py310.py!}
+    ```
index bd5d3977cf9057d928cfa8cbe47868bbd2d2160a..88c4eb7563d9b47361fe2ae310c9b556fe5918bc 100644 (file)
@@ -68,6 +68,7 @@ nav:
   - tutorial/query-params-str-validations.md
   - tutorial/body-fields.md
   - tutorial/background-tasks.md
+  - tutorial/extra-data-types.md
   - tutorial/cookie-params.md
 - async.md
 - Развёртывание: