Skip to content

Commit f193b40

Browse files
authored
Merge branch 'master' into add-missing-russian-translations-llm
2 parents bcf2eb7 + 88a5554 commit f193b40

75 files changed

Lines changed: 4118 additions & 3845 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/en/docs/release-notes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ hide:
99

1010
### Translations
1111

12+
* 🌐 Update Russian translations for existing pages (LLM-generated). PR [#14123](https://github.com/fastapi/fastapi/pull/14123) by [@YuriiMotov](https://github.com/YuriiMotov).
1213
* 🌐 Remove configuration files for inactive translations. PR [#14130](https://github.com/fastapi/fastapi/pull/14130) by [@tiangolo](https://github.com/tiangolo).
1314

1415
### Internal

docs/ru/docs/about/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
# О проекте
1+
# О проекте { #about }
22

3-
FastAPI: внутреннее устройство, повлиявшие технологии и всё такое прочее. 🤓
3+
О FastAPI, его дизайне, источниках вдохновения и многом другом. 🤓
Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,41 @@
1-
# Дополнительные статус коды
1+
# Дополнительные статус-коды { #additional-status-codes }
22

3-
По умолчанию **FastAPI** возвращает ответы, используя `JSONResponse`, помещая содержимое, которое вы возвращаете из вашей *операции пути*, внутрь этого `JSONResponse`.
3+
По умолчанию **FastAPI** будет возвращать ответы, используя `JSONResponse`, помещая содержимое, которое вы возвращаете из вашей *операции пути*, внутрь этого `JSONResponse`.
44

5-
Он будет использовать код статуса по умолчанию или тот, который вы укажете в вашей *операции пути*.
5+
Он будет использовать статус-код по умолчанию или тот, который вы укажете в вашей *операции пути*.
66

7-
## Дополнительные статус коды
7+
## Дополнительные статус-коды { #additional-status-codes_1 }
88

9-
Если вы хотите возвращать дополнительный статус код помимо основного, вы можете сделать это, возвращая объект `Response` напрямую, как `JSONResponse`, и устанавливая нужный статус код напрямую.
9+
Если вы хотите возвращать дополнительные статус-коды помимо основного, вы можете сделать это, возвращая `Response` напрямую, например `JSONResponse`, и устанавливая дополнительный статус-код напрямую.
1010

11-
Например, скажем, вы хотите создать *операцию пути*, которая позволяет обновлять элементы и возвращает HTTP-код 200 "OK" при успешном выполнении.
11+
Например, предположим, что вы хотите иметь *операцию пути*, которая позволяет обновлять элементы и возвращает HTTP статус-код 200 «OK» при успешном выполнении.
1212

13-
Но вы также хотите, чтобы она принимала новые элементы. И если элемент ранее не существовал, он создаётся, и возвращался HTTP-код 201 "Created".
13+
Но вы также хотите, чтобы она принимала новые элементы. И если элементы ранее не существовали, она создаёт их и возвращает HTTP статус-код 201 «Created».
1414

15-
Чтобы реализовать это, импортируйте `JSONResponse` и возвращайте ваш контент напрямую, устанавливая нужный `status_code`:
15+
Чтобы добиться этого, импортируйте `JSONResponse` и верните туда свой контент напрямую, установив нужный вам `status_code`:
1616

1717
{* ../../docs_src/additional_status_codes/tutorial001_an_py310.py hl[4,25] *}
1818

1919
/// warning | Внимание
2020

21-
Когда вы возвращаете объект `Response` напрямую, как в примере выше, он будет возвращён как есть.
21+
Когда вы возвращаете `Response` напрямую, как в примере выше, он будет возвращён как есть.
2222

23-
Он не будет сериализован при помощи модели и т.д.
23+
Он не будет сериализован с помощью модели и т.п.
2424

25-
Убедитесь, что в нём содержатся именно те данные, которые вы хотите, и что значения являются валидным JSON (если вы используете `JSONResponse`).
25+
Убедитесь, что в нём именно те данные, которые вы хотите, и что значения являются валидным JSON (если вы используете `JSONResponse`).
2626

2727
///
2828

2929
/// note | Технические детали
3030

3131
Вы также можете использовать `from starlette.responses import JSONResponse`.
3232

33-
**FastAPI** предоставляет тот же `starlette.responses` через `fastapi.responses` просто для вашего удобства, как разработчика. Но большинство доступных Response-классов поступают напрямую из Starlette. То же самое касается и `status`.
33+
**FastAPI** предоставляет тот же `starlette.responses` через `fastapi.responses` просто для вашего удобства как разработчика. Но большинство доступных Response-классов приходят напрямую из Starlette. То же самое со `status`.
3434

3535
///
3636

37-
## OpenAPI и документация API
37+
## OpenAPI и документация API { #openapi-and-api-docs }
3838

39-
Если вы возвращаете дополнительные коды статусов и ответы напрямую, они не будут включены в схему OpenAPI (документацию API), потому что FastAPI не может заранее знать, что вы собираетесь вернуть.
39+
Если вы возвращаете дополнительные статус-коды и ответы напрямую, они не будут включены в схему OpenAPI (документацию API), потому что у FastAPI нет способа заранее знать, что вы собираетесь вернуть.
4040

41-
Но вы можете задокументировать это в вашем коде, используя: [Дополнительные ответы в OpenAPI](additional-responses.md){.internal-link target=_blank}.
41+
Но вы можете задокументировать это в своём коде, используя: [Дополнительные ответы](additional-responses.md){.internal-link target=_blank}.

docs/ru/docs/advanced/async-tests.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
# Асинхронное тестирование
1+
# Асинхронное тестирование { #async-tests }
22

33
Вы уже видели как тестировать **FastAPI** приложение, используя имеющийся класс `TestClient`. К этому моменту вы видели только как писать тесты в синхронном стиле без использования `async` функций.
44

55
Возможность использования асинхронных функций в ваших тестах может быть полезнa, когда, например, вы асинхронно обращаетесь к вашей базе данных. Представьте, что вы хотите отправить запросы в ваше FastAPI приложение, а затем при помощи асинхронной библиотеки для работы с базой данных удостовериться, что ваш бекэнд корректно записал данные в базу данных.
66

77
Давайте рассмотрим, как мы можем это реализовать.
88

9-
## pytest.mark.anyio
9+
## pytest.mark.anyio { #pytest-mark-anyio }
1010

1111
Если мы хотим вызывать асинхронные функции в наших тестах, то наши тестовые функции должны быть асинхронными. AnyIO предоставляет для этого отличный плагин, который позволяет нам указывать, какие тестовые функции должны вызываться асинхронно.
1212

13-
## HTTPX
13+
## HTTPX { #httpx }
1414

1515
Даже если **FastAPI** приложение использует обычные функции `def` вместо `async def`, это все равно `async` приложение 'под капотом'.
1616

1717
Чтобы работать с асинхронным FastAPI приложением в ваших обычных тестовых функциях `def`, используя стандартный pytest, `TestClient` внутри себя делает некоторую магию. Но эта магия перестает работать, когда мы используем его внутри асинхронных функций. Запуская наши тесты асинхронно, мы больше не можем использовать `TestClient` внутри наших тестовых функций.
1818

1919
`TestClient` основан на <a href="https://www.python-httpx.org" class="external-link" target="_blank">HTTPX</a>, и, к счастью, мы можем использовать его (`HTTPX`) напрямую для тестирования API.
2020

21-
## Пример
21+
## Пример { #example }
2222

2323
В качестве простого примера, давайте рассмотрим файловую структуру, схожую с описанной в [Большие приложения](../tutorial/bigger-applications.md){.internal-link target=_blank} и [Тестирование](../tutorial/testing.md){.internal-link target=_blank}:
2424

@@ -38,7 +38,7 @@
3838

3939
{* ../../docs_src/async_tests/test_main.py *}
4040

41-
## Запуск тестов
41+
## Запуск тестов { #run-it }
4242

4343
Вы можете запустить свои тесты как обычно:
4444

@@ -52,7 +52,7 @@ $ pytest
5252

5353
</div>
5454

55-
## Подробнее
55+
## Подробнее { #in-detail }
5656

5757
Маркер `@pytest.mark.anyio` говорит pytest, что тестовая функция должна быть вызвана асинхронно:
5858

@@ -88,7 +88,7 @@ response = client.get('/')
8888

8989
///
9090

91-
## Вызов других асинхронных функций
91+
## Вызов других асинхронных функций { #other-asynchronous-function-calls }
9292

9393
Теперь тестовая функция стала асинхронной, поэтому внутри нее вы можете вызывать также и другие `async` функции, не связанные с отправлением запросов в ваше FastAPI приложение. Как если бы вы вызывали их в любом другом месте вашего кода.
9494

docs/ru/docs/advanced/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
# Расширенное руководство пользователя
1+
# Расширенное руководство пользователя { #advanced-user-guide }
22

3-
## Дополнительные возможности
3+
## Дополнительные возможности { #additional-features }
44

55
Основное [Учебник - Руководство пользователя](../tutorial/index.md){.internal-link target=_blank} должно быть достаточно, чтобы познакомить вас со всеми основными функциями **FastAPI**.
66

77
В следующих разделах вы увидите другие варианты, конфигурации и дополнительные возможности.
88

9-
/// tip
9+
/// tip | Совет
1010

1111
Следующие разделы **не обязательно являются "продвинутыми"**.
1212

1313
И вполне возможно, что для вашего случая использования решение находится в одном из них.
1414

1515
///
1616

17-
## Сначала прочитайте Учебник - Руководство пользователя
17+
## Сначала прочитайте Учебник - Руководство пользователя { #read-the-tutorial-first }
1818

1919
Вы все еще можете использовать большинство функций **FastAPI** со знаниями из [Учебник - Руководство пользователя](../tutorial/index.md){.internal-link target=_blank}.
2020

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
# Response - Изменение cтатус кода
1+
# Response - Изменение статус-кода { #response-change-status-code }
22

3-
Вы, вероятно, уже читали о том, что можно установить [Состояние ответа по умолчанию](../tutorial/response-status-code.md){.internal-link target=_blank}.
3+
Вы, вероятно, уже читали о том, что можно установить [статус-код ответа по умолчанию](../tutorial/response-status-code.md){.internal-link target=_blank}.
44

5-
Но в некоторых случаях вам нужно вернуть код состояния, отличный от установленного по умолчанию.
5+
Но в некоторых случаях нужно вернуть другой статус-код, отличный от значения по умолчанию.
66

7-
## Пример использования
7+
## Пример использования { #use-case }
88

9-
Например, представьте, что вы хотите возвращать HTTP код состояния "OK" `200` по умолчанию.
9+
Например, представьте, что вы хотите по умолчанию возвращать HTTP статус-код «OK» `200`.
1010

11-
Но если данные не существовали, вы хотите создать их и вернуть HTTP код состояния "CREATED" `201`.
11+
Но если данные не существовали, вы хотите создать их и вернуть HTTP статус-код «CREATED» `201`.
1212

1313
При этом вы всё ещё хотите иметь возможность фильтровать и преобразовывать возвращаемые данные с помощью `response_model`.
1414

1515
Для таких случаев вы можете использовать параметр `Response`.
1616

17-
## Использование параметра `Response`
17+
## Использование параметра `Response` { #use-a-response-parameter }
1818

19-
Вы можете объявить параметр типа `Response` в вашей *функции обработки пути* (так же как для cookies и headers).
19+
Вы можете объявить параметр типа `Response` в вашей *функции обработки пути* (как и для cookies и HTTP-заголовков).
2020

2121
И затем вы можете установить `status_code` в этом *временном* объекте ответа.
2222

@@ -26,6 +26,6 @@
2626

2727
И если вы объявили `response_model`, он всё равно будет использоваться для фильтрации и преобразования возвращаемого объекта.
2828

29-
**FastAPI** будет использовать этот *временный* ответ для извлечения кода состояния (а также cookies и headers) и поместит их в финальный ответ, который содержит возвращаемое вами значение, отфильтрованное любым `response_model`.
29+
**FastAPI** будет использовать этот *временный* ответ для извлечения статус-кода (а также cookies и HTTP-заголовков) и поместит их в финальный ответ, который содержит возвращаемое вами значение, отфильтрованное любым `response_model`.
3030

31-
Вы также можете объявить параметр `Response` в зависимостях и установить код состояния в них. Но помните, что последнее установленное значение будет иметь приоритет.
31+
Вы также можете объявить параметр `Response` в зависимостях и установить в них статус-код. Но помните, что последнее установленное значение будет иметь приоритет.

0 commit comments

Comments
 (0)