diff --git a/docs/ru/docs/_llm-test.md b/docs/ru/docs/_llm-test.md index dbb1a2b7fe..d33e803a0b 100644 --- a/docs/ru/docs/_llm-test.md +++ b/docs/ru/docs/_llm-test.md @@ -124,10 +124,6 @@ works(foo="bar") # Это работает 🎉 //// tab | Тест -/// info | Информация -Некоторый текст -/// - /// note | Примечание Некоторый текст /// @@ -136,10 +132,6 @@ works(foo="bar") # Это работает 🎉 Некоторый текст /// -/// check | Проверка -Некоторый текст -/// - /// tip | Совет Некоторый текст /// diff --git a/docs/ru/docs/alternatives.md b/docs/ru/docs/alternatives.md index 13bac7f92b..13f099da8f 100644 --- a/docs/ru/docs/alternatives.md +++ b/docs/ru/docs/alternatives.md @@ -36,7 +36,7 @@ Django REST Framework был создан Томом Кристи. Он же с /// -/// check | Вдохновило **FastAPI** на +/// tip | Вдохновило **FastAPI** на Наличие пользовательского веб-интерфейса с автоматической документацией API. @@ -56,7 +56,7 @@ Flask — это «микрофреймворк», он не включает и С учётом простоты Flask он казался хорошим вариантом для создания API. Следующим было найти «Django REST Framework» для Flask. -/// check | Вдохновило **FastAPI** на +/// tip | Вдохновило **FastAPI** на Быть микро-фреймворком. Облегчить комбинирование необходимых инструментов и компонентов. @@ -98,7 +98,7 @@ def read_url(): Посмотрите, насколько похожи `requests.get(...)` и `@app.get(...)`. -/// check | Вдохновило **FastAPI** на +/// tip | Вдохновило **FastAPI** на * Иметь простой и понятный API. * Использовать названия HTTP-методов (операций) напрямую, простым и интуитивным образом. @@ -118,7 +118,7 @@ def read_url(): Вот почему, говоря о версии 2.0, обычно говорят «Swagger», а о версии 3+ — «OpenAPI». -/// check | Вдохновило **FastAPI** на +/// tip | Вдохновило **FastAPI** на Использовать открытый стандарт для спецификаций API вместо самодельной схемы. @@ -147,7 +147,7 @@ def read_url(): Но она появилась до того, как в Python появились аннотации типов. Поэтому для определения каждой схемы нужно использовать специальные утилиты и классы, предоставляемые Marshmallow. -/// check | Вдохновило **FastAPI** на +/// tip | Вдохновило **FastAPI** на Использовать код для автоматического определения «схем», задающих типы данных и их валидацию. @@ -163,13 +163,13 @@ Webargs — это инструмент, созданный для этого п Это отличный инструмент, и я тоже много им пользовался до появления **FastAPI**. -/// info | Информация +/// note | Заметка Webargs был создан теми же разработчиками, что и Marshmallow. /// -/// check | Вдохновило **FastAPI** на +/// tip | Вдохновило **FastAPI** на Автоматическую валидацию входящих данных HTTP-запроса. @@ -193,13 +193,13 @@ Marshmallow и Webargs предоставляют валидацию, парси Редактор кода мало чем может помочь. И если мы изменим параметры или схемы Marshmallow и забудем также изменить YAML в докстринге, сгенерированная схема устареет. -/// info | Информация +/// note | Заметка APISpec был создан теми же разработчиками, что и Marshmallow. /// -/// check | Вдохновило **FastAPI** на +/// tip | Вдохновило **FastAPI** на Поддержку открытого стандарта для API — OpenAPI. @@ -225,13 +225,13 @@ APISpec был создан теми же разработчиками, что И эти же full-stack генераторы стали основой для [Генераторов проектов **FastAPI**](project-generation.md). -/// info | Информация +/// note | Заметка Flask-apispec был создан теми же разработчиками, что и Marshmallow. /// -/// check | Вдохновило **FastAPI** на +/// tip | Вдохновило **FastAPI** на Автоматическую генерацию схемы OpenAPI из того же кода, который определяет сериализацию и валидацию. @@ -251,7 +251,7 @@ Flask-apispec был создан теми же разработчиками, ч Он плохо справляется с вложенными моделями. Если JSON-тело запроса — это объект JSON, содержащий внутренние поля, которые сами являются вложенными объектами JSON, это нельзя как следует задокументировать и провалидировать. -/// check | Вдохновило **FastAPI** на +/// tip | Вдохновило **FastAPI** на Использовать типы Python для отличной поддержки в редакторе кода. @@ -271,7 +271,7 @@ Flask-apispec был создан теми же разработчиками, ч /// -/// check | Вдохновило **FastAPI** на +/// tip | Вдохновило **FastAPI** на Поиск способа достичь сумасшедшей производительности. @@ -287,7 +287,7 @@ Falcon — ещё один высокопроизводительный Python- Поэтому валидация данных, сериализация и документация должны выполняться в коде вручную, не автоматически. Либо должны быть реализованы во фреймворке поверх Falcon, как в Hug. Та же особенность есть и в других фреймворках, вдохновлённых дизайном Falcon — с одним объектом запроса и одним объектом ответа в параметрах. -/// check | Вдохновило **FastAPI** на +/// tip | Вдохновило **FastAPI** на Поиск способов получить отличную производительность. @@ -313,7 +313,7 @@ Falcon — ещё один высокопроизводительный Python- Маршруты объявляются в одном месте, используя функции, объявленные в других местах (вместо декораторов, которые можно разместить прямо над функцией, обрабатывающей эндпоинт). Это ближе к тому, как это делает Django, чем Flask (и Starlette). Это разделяет в коде вещи, которые довольно тесно связаны. -/// check | Вдохновило **FastAPI** на +/// tip | Вдохновило **FastAPI** на Определять дополнительные проверки типов данных, используя значение «по умолчанию» атрибутов модели. Это улучшает поддержку в редакторе кода, и раньше этого не было в Pydantic. @@ -335,13 +335,13 @@ Hug был одним из первых фреймворков, реализов Так как он основан на предыдущем стандарте для синхронных веб-фреймворков Python (WSGI), он не может работать с WebSocket и прочим, хотя также демонстрирует высокую производительность. -/// info | Информация +/// note | Заметка Hug был создан Тимоти Кросли, тем же автором [`isort`](https://github.com/timothycrosley/isort), отличного инструмента для автоматической сортировки импортов в файлах Python. /// -/// check | Идеи, вдохновившие **FastAPI** +/// tip | Идеи, вдохновившие **FastAPI** Hug вдохновил части APIStar и был одним из наиболее многообещающих инструментов, которые я нашёл, наряду с APIStar. @@ -375,7 +375,7 @@ Hug вдохновил **FastAPI** объявлять параметр `response Сейчас APIStar — это набор инструментов для валидации спецификаций OpenAPI, а не веб-фреймворк. -/// info | Информация +/// note | Заметка APIStar был создан Томом Кристи. Тем самым человеком, который создал: @@ -385,7 +385,7 @@ APIStar был создан Томом Кристи. Тем самым чело /// -/// check | Вдохновило **FastAPI** на +/// tip | Вдохновило **FastAPI** на Существование. @@ -409,7 +409,7 @@ Pydantic — это библиотека для определения вали Его можно сравнить с Marshmallow. Хотя в бенчмарках он быстрее Marshmallow. И поскольку он основан на тех же аннотациях типов Python, поддержка в редакторе кода отличная. -/// check | **FastAPI** использует его для +/// tip | **FastAPI** использует его для Обработки всей валидации данных, сериализации данных и автоматической документации моделей (на основе JSON Schema). @@ -452,7 +452,7 @@ ASGI — это новый «стандарт», разрабатываемый /// -/// check | **FastAPI** использует его для +/// tip | **FastAPI** использует его для Обработки всех основных веб-частей. Добавляя возможности поверх. @@ -470,7 +470,7 @@ Uvicorn — молниеносный ASGI-сервер, построенный Это рекомендуемый сервер для Starlette и **FastAPI**. -/// check | **FastAPI** рекомендует его как +/// tip | **FastAPI** рекомендует его как Основной веб-сервер для запуска приложений **FastAPI**. diff --git a/docs/ru/docs/async.md b/docs/ru/docs/async.md index 7fd702184c..e2b98bd611 100644 --- a/docs/ru/docs/async.md +++ b/docs/ru/docs/async.md @@ -139,7 +139,7 @@ def results(): -/// info | Информация +/// note | Примечание Прекрасные иллюстрации от [Ketrina Thompson](https://www.instagram.com/ketrinadrawsalot). 🎨 @@ -205,7 +205,7 @@ def results(): Разговоров и флирта было немного, потому что большую часть времени вы ждали 🕙 у стойки. 😞 -/// info | Информация +/// note | Примечание Прекрасные иллюстрации от [Ketrina Thompson](https://www.instagram.com/ketrinadrawsalot). 🎨 diff --git a/docs/ru/docs/fastapi-cli.md b/docs/ru/docs/fastapi-cli.md index 1dc558a8c1..07d27202aa 100644 --- a/docs/ru/docs/fastapi-cli.md +++ b/docs/ru/docs/fastapi-cli.md @@ -95,7 +95,7 @@ entrypoint = "backend.main:app" from backend.main import app ``` -### `fastapi dev` с указанием пути { #fastapi-dev-with-path } +### `fastapi dev` с указанием пути или с опцией CLI `--entrypoint` { #fastapi-dev-with-path-or-with-entrypoint-cli-option } Вы также можете передать путь к файлу команде `fastapi dev`, и она постарается определить объект приложения FastAPI: @@ -103,7 +103,13 @@ from backend.main import app $ fastapi dev main.py ``` -Но тогда вам придется каждый раз не забывать передавать правильный путь при вызове команды `fastapi`. +Или вы можете передать опцию `--entrypoint` команде `fastapi dev`: + +```console +$ fastapi dev --entrypoint main:app +``` + +Но тогда вам придется каждый раз не забывать передавать правильный путь\entrypoint при вызове команды `fastapi`. Кроме того, другие инструменты могут не найти его, например [Расширение VS Code](editor-support.md) или [FastAPI Cloud](https://fastapicloud.com), поэтому рекомендуется использовать `entrypoint` в `pyproject.toml`. diff --git a/docs/ru/docs/features.md b/docs/ru/docs/features.md index f779c798cc..9755c3fe59 100644 --- a/docs/ru/docs/features.md +++ b/docs/ru/docs/features.md @@ -6,7 +6,7 @@ ### Основано на открытых стандартах { #based-on-open-standards } -* [**OpenAPI**](https://github.com/OAI/OpenAPI-Specification) для создания API, включая объявления операций пути, параметров, тел запросов, безопасности и т.д. +* [**OpenAPI**](https://github.com/OAI/OpenAPI-Specification) для создания API, включая объявления путей, операций, параметров, тел запросов, безопасности и т.д. * Автоматическая документация моделей данных с помощью [**JSON Schema**](https://json-schema.org/) (так как сама спецификация OpenAPI основана на JSON Schema). * Разработан вокруг этих стандартов, после тщательного их изучения. Это не дополнительная надстройка поверх. * Это также позволяет использовать автоматическую **генерацию клиентского кода** на многих языках. @@ -63,7 +63,7 @@ second_user_data = { my_second_user: User = User(**second_user_data) ``` -/// info | Информация +/// note | Примечание `**second_user_data` означает: @@ -71,7 +71,7 @@ my_second_user: User = User(**second_user_data) /// -### Поддержка редакторов (IDE) { #editor-support } +### Поддержка редакторов { #editor-support } Весь фреймворк был продуман так, чтобы быть простым и интуитивно понятным в использовании, все решения были проверены на множестве редакторов еще до начала разработки, чтобы обеспечить наилучшие условия при написании кода. @@ -130,13 +130,13 @@ FastAPI имеет продуманные значения **по умолчан * Параметрах запросов. * Cookies и т.п. -Вдобавок все функции безопасности от Starlette (включая **сессионные cookies**). +Вдобавок все функции безопасности от Starlette (включая **сессионные cookie**). Все инструменты и компоненты спроектированы для многократного использования и легко интегрируются с вашими системами, хранилищами данных, реляционными и NoSQL базами данных и т.д. ### Внедрение зависимостей { #dependency-injection } -FastAPI включает в себя чрезвычайно простую в использовании, но чрезвычайно мощную систему Внедрения зависимостей. +FastAPI включает в себя чрезвычайно простую в использовании, но чрезвычайно мощную систему внедрения зависимостей. * Даже зависимости могут иметь зависимости, создавая иерархию или **«граф» зависимостей**. * Всё **автоматически обрабатывается** фреймворком. @@ -193,7 +193,7 @@ FastAPI включает в себя чрезвычайно простую в и * Прекрасно сочетается с вашим **IDE/линтер/мозгом**: * Потому что структуры данных pydantic — это всего лишь экземпляры классов, определённых вами; автозавершение, проверка кода, mypy и ваша интуиция — всё будет работать с вашими валидированными данными. * Валидация **сложных структур**: - * Использование иерархических моделей Pydantic; `List`, `Dict` и т.п. из модуля `typing` (входит в стандартную библиотеку Python). + * Использование иерархических моделей Pydantic; `List`, `Dict` и т.п. из модуля `typing`. * Валидаторы позволяют чётко и легко определять, проверять и документировать сложные схемы данных в виде JSON Schema. * У вас могут быть глубоко **вложенные объекты JSON**, и все они будут проверены и аннотированы. * **Расширяемость**: diff --git a/docs/ru/docs/help-fastapi.md b/docs/ru/docs/help-fastapi.md index 1d274e96a2..f9b9ebea34 100644 --- a/docs/ru/docs/help-fastapi.md +++ b/docs/ru/docs/help-fastapi.md @@ -1,255 +1,87 @@ -# Помочь FastAPI - Получить помощь { #help-fastapi-get-help } +# Помощь { #help } -Нравится ли Вам **FastAPI**? +Хотите помочь FastAPI или получить помощь по FastAPI? -Хотели бы Вы помочь FastAPI, другим пользователям и автору? - -Или Вы хотите получить помощь по **FastAPI**? - -Есть несколько очень простых способов помочь (иногда достаточно всего лишь одного-двух кликов). - -И также есть несколько способов получить помощь. +Есть очень простые способы помочь и получить помощь. ## Подписаться на новостную рассылку { #subscribe-to-the-newsletter } -Вы можете подписаться на редкую [новостную рассылку **FastAPI и его друзья**](newsletter.md) и быть в курсе о: - -* Новостях о FastAPI и его друзьях 🚀 -* Руководствах 📝 -* Возможностях ✨ -* Ломающих изменениях 🚨 -* Подсказках и хитростях ✅ - -## Подписаться на FastAPI в X (Twitter) { #follow-fastapi-on-x-twitter } - -[Подписаться на @fastapi в **X (Twitter)**](https://x.com/fastapi) для получения наисвежайших новостей о **FastAPI**. 🐦 - -## Добавить **FastAPI** звезду на GitHub { #star-fastapi-in-github } - -Вы можете добавить FastAPI "звезду" на GitHub (кликнув на кнопку звезды в правом верхнем углу): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). ⭐️ - -Чем больше звёзд, тем легче другим пользователям найти проект и увидеть, что он уже оказался полезным для многих. - -## Отслеживать свежие выпуски в репозитории на GitHub { #watch-the-github-repository-for-releases } - -Вы можете "отслеживать" FastAPI на GitHub (кликнув по кнопке "watch" наверху справа): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). 👀 - -Там же Вы можете выбрать "Releases only". - -С такой настройкой Вы будете получать уведомления на вашу электронную почту каждый раз, когда появится новый релиз (новая версия) **FastAPI** с исправлениями ошибок и новыми возможностями. - -## Связаться с автором { #connect-with-the-author } - -Можно связаться со [мной (Sebastián Ramírez / `tiangolo`)](https://tiangolo.com), автором. - -Вы можете: - -* [Подписаться на меня на **GitHub**](https://github.com/tiangolo). - * Посмотреть другие мои проекты с открытым кодом, которые могут быть полезны Вам. - * Подписаться, чтобы видеть, когда я создаю новый проект с открытым кодом. -* [Подписаться на меня в **X (Twitter)**](https://x.com/tiangolo) или в [Mastodon](https://fosstodon.org/@tiangolo). - * Поделиться со мной, как Вы используете FastAPI (я обожаю это читать). - * Узнавать, когда я делаю объявления или выпускаю новые инструменты. - * Вы также можете [подписаться на @fastapi в X (Twitter)](https://x.com/fastapi) (это отдельный аккаунт). -* [Подписаться на меня в **LinkedIn**](https://www.linkedin.com/in/tiangolo/). - * Узнавать, когда я делаю объявления или выпускаю новые инструменты (хотя чаще я использую X (Twitter) 🤷‍♂). -* Читать, что я пишу (или подписаться на меня) на [**Dev.to**](https://dev.to/tiangolo) или [**Medium**](https://medium.com/@tiangolo). - * Читать другие идеи, статьи и о созданных мной инструментах. - * Подписаться, чтобы читать, когда я публикую что-то новое. - -## Оставить сообщение в X (Twitter) о **FastAPI** { #tweet-about-fastapi } - -[Оставьте сообщение в X (Twitter) о **FastAPI**](https://x.com/compose/tweet?text=I'm loving @fastapi because... https://github.com/fastapi/fastapi) и позвольте мне и другим узнать, почему он Вам нравится. 🎉 +Вы можете подписаться на (редкую) [новостную рассылку **FastAPI и друзья**](newsletter.md), чтобы быть в курсе: -Я люблю узнавать о том, как **FastAPI** используется, что Вам понравилось в нём, в каких проектах/компаниях Вы его используете и т.д. +* Новости о FastAPI и друзьях 🚀 +* Руководства 📝 +* Возможности ✨ +* Ломающие изменения 🚨 +* Советы и приёмы ✅ -## Оставить голос за FastAPI { #vote-for-fastapi } +## Подписаться на FastAPI онлайн { #follow-fastapi-online } -* [Голосуйте за **FastAPI** в Slant](https://www.slant.co/options/34241/~fastapi-review). -* [Голосуйте за **FastAPI** в AlternativeTo](https://alternativeto.net/software/fastapi/about/). -* [Расскажите, что Вы используете **FastAPI** на StackShare](https://stackshare.io/pypi-fastapi). +Вы можете подписаться на **FastAPI** в разных местах: -## Помочь другим с вопросами на GitHub { #help-others-with-questions-in-github } +* [@fastapi в **X / Twitter**](https://x.com/fastapi) +* [@fastapi.tiangolo.com в **Bluesky**](https://bsky.app/profile/fastapi.tiangolo.com) +* [FastAPI в **LinkedIn**](https://www.linkedin.com/company/fastapi/) -Вы можете попробовать помочь другим с их вопросами в: +## Отметить **FastAPI** звездой на GitHub { #star-fastapi-in-github } -* [GitHub Discussions](https://github.com/fastapi/fastapi/discussions/categories/questions?discussions_q=category%3AQuestions+is%3Aunanswered) -* [GitHub Issues](https://github.com/fastapi/fastapi/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Aquestion+-label%3Aanswered+) +Вы можете поставить «звезду» FastAPI на GitHub (нажав кнопку со звездой в правом верхнем углу): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). ⭐️ -Во многих случаях Вы уже можете знать ответы на эти вопросы. 🤓 +Добавив звезду, другим пользователям будет проще его найти и увидеть, что он уже был полезен другим. -Если Вы много помогаете людям с их вопросами, Вы станете официальным [Экспертом FastAPI](fastapi-people.md#fastapi-experts). 🎉 +## Следить за релизами в репозитории на GitHub { #watch-the-github-repository-for-releases } -Только помните, самое важное — постарайтесь быть добрыми. Люди приходят со своими разочарованиями и часто задают вопросы не лучшим образом, но постарайтесь, насколько можете, быть доброжелательными. 🤗 +Вы можете «подписаться» на обновления FastAPI в GitHub (нажав кнопку «Watch» в правом верхнем углу): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). 👀 -Идея сообщества **FastAPI** — быть доброжелательным и гостеприимным. В то же время не допускайте травлю или неуважительное поведение по отношению к другим. Мы должны заботиться друг о друге. +Там вы можете выбрать «Releases only». ---- +Так вы будете получать уведомления (по электронной почте) каждый раз, когда выходит новый релиз (новая версия) **FastAPI** с исправлениями и новыми возможностями. -Как помочь другим с вопросами (в обсуждениях или Issues): +## Подписаться на автора { #follow-the-author } -### Понять вопрос { #understand-the-question } +Вы можете подписаться на [меня (Sebastián Ramírez / `tiangolo`)](https://tiangolo.com) в нескольких местах, чтобы узнавать новости о FastAPI и друзьях: -* Убедитесь, что поняли **цель** и кейс использования задающего вопрос. +* [@tiangolo в **GitHub**](https://github.com/tiangolo). +* [@tiangolo в **X (Twitter)**](https://x.com/tiangolo) +* [@tiangolo.com в **Bluesky**](https://bsky.app/profile/tiangolo.com) +* [@tiangolo в **LinkedIn**](https://www.linkedin.com/in/tiangolo/). -* Затем проверьте, что вопрос (в подавляющем большинстве это вопросы) сформулирован **ясно**. +## Помогать другим с вопросами на GitHub { #help-others-with-questions-in-github } -* Во многих случаях спрашивают о воображаемом решении пользователя, но может быть решение **получше**. Если Вы лучше поймёте проблему и кейс, сможете предложить **альтернативное решение**. +Вы можете попробовать помогать другим с их вопросами в [GitHub Discussions](https://github.com/fastapi/fastapi/discussions/categories/questions?discussions_q=category%3AQuestions+is%3Aunanswered). -* Если вопрос непонятен, запросите больше **деталей**. +Во многих случаях вы уже можете знать ответы на эти вопросы. 🤓 -### Воспроизвести проблему { #reproduce-the-problem } +Если вы помогаете многим людям с их вопросами, вы станете официальным [Экспертом FastAPI](fastapi-people.md#fastapi-experts). 🎉 -В большинстве случаев и вопросов есть что-то связанное с **исходным кодом** автора. +Только помните, самое важное — старайтесь быть добрыми. 🤗 -Во многих случаях предоставляют только фрагмент кода, но этого недостаточно, чтобы **воспроизвести проблему**. +### Как помогать { #how-to-help } -* Попросите предоставить [минимальный воспроизводимый пример](https://stackoverflow.com/help/minimal-reproducible-example), который Вы сможете **скопировать-вставить** и запустить локально, чтобы увидеть ту же ошибку или поведение, или лучше понять их кейс. - -* Если чувствуете себя особенно великодушными, можете попытаться **создать такой пример** сами, основываясь только на описании проблемы. Просто помните, что это может занять много времени, и, возможно, сначала лучше попросить уточнить проблему. - -### Предложить решение { #suggest-solutions } - -* После того как Вы поняли вопрос, Вы можете дать возможный **ответ**. - -* Во многих случаях лучше понять **исходную проблему или кейс**, потому что может существовать способ решить её лучше, чем то, что пытаются сделать. - -### Попросить закрыть { #ask-to-close } - -Если Вам ответили, велика вероятность, что Вы решили их проблему, поздравляю, **Вы — герой**! 🦸 - -* Теперь, если проблема решена, можно попросить их: - * В GitHub Discussions: пометить комментарий как **answer** (ответ). - * В GitHub Issues: **закрыть** Issue. - -## Отслеживать репозиторий на GitHub { #watch-the-github-repository } - -Вы можете "отслеживать" FastAPI на GitHub (кликнув по кнопке "watch" наверху справа): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). 👀 - -Если Вы выберете "Watching" вместо "Releases only", то будете получать уведомления, когда кто-либо создаёт новый вопрос или Issue. Вы также можете указать, что хотите получать уведомления только о новых Issues, или обсуждениях, или пулл-реквестах и т.д. - -Тогда Вы можете попробовать помочь им с решением этих вопросов. +Следуйте [руководству по тому, как помогать](https://tiangolo.com/open-source/help/#help-others-with-questions-in-github) здесь. ## Задать вопросы { #ask-questions } -Вы можете [создать новый вопрос](https://github.com/fastapi/fastapi/discussions/new?category=questions) в репозитории GitHub, например: +Вы можете [создать новый вопрос](https://github.com/fastapi/fastapi/discussions/new?category=questions) в репозитории GitHub, например, чтобы: * Задать **вопрос** или спросить о **проблеме**. * Предложить новую **возможность**. -**Заметка**: если Вы это сделаете, то я попрошу Вас также помогать другим. 😉 - -## Проверять пулл-реквесты { #review-pull-requests } - -Вы можете помочь мне проверять пулл-реквесты других участников. - -И, снова, постарайтесь быть доброжелательными. 🤗 - ---- - -О том, что нужно иметь в виду и как проверять пулл-реквест: - -### Понять проблему { #understand-the-problem } - -* Во-первых, убедитесь, что **поняли проблему**, которую пулл-реквест пытается решить. Возможно, это обсуждалось более подробно в GitHub Discussion или Issue. +## Присоединиться к чату { #join-the-chat } -* Также есть вероятность, что пулл-реквест не нужен, так как проблему можно решить **другим путём**. Тогда Вы можете предложить или спросить об этом. +Присоединяйтесь к 👥 [чат-серверу в Discord](https://discord.gg/VQjSZaeJmf) 👥 и общайтесь с другими участниками сообщества FastAPI. -### Не переживайте о стиле { #dont-worry-about-style } +/// tip | Совет -* Не стоит слишком беспокоиться о таких вещах, как стиль сообщений в коммитах — при слиянии я выполню squash и настрою коммит вручную. +По вопросам — задавайте их в GitHub Discussions, там гораздо выше шанс получить помощь. -* Также не беспокойтесь о правилах стиля, это уже проверяют автоматизированные инструменты. - -Если будет нужна какая-то другая стилистика или единообразие, я попрошу об этом напрямую или добавлю поверх свои коммиты с нужными изменениями. - -### Проверить код { #check-the-code } - -* Проверьте и прочитайте код, посмотрите, логичен ли он, **запустите его локально** и проверьте, действительно ли он решает проблему. - -* Затем оставьте **комментарий**, что Вы это сделали, так я пойму, что Вы действительно проверили код. - -/// info | Информация - -К сожалению, я не могу просто доверять PR-ам только потому, что у них есть несколько одобрений. - -Несколько раз было так, что у PR-ов было 3, 5 или больше одобрений, вероятно из-за привлекательного описания, но когда я их проверял, они оказывались сломанными, содержали баги или вовсе не решали заявленную проблему. 😅 - -Поэтому очень важно действительно прочитать и запустить код и сообщить мне об этом в комментарии. 🤓 - -/// - -* Если PR можно упростить, Вы можете попросить об этом, но не нужно быть слишком придирчивым — может быть много субъективных мнений (и у меня тоже 🙈), поэтому лучше сосредоточиться на фундаментальных вещах. - -### Тестировать { #tests } - -* Помогите мне проверить, что у PR есть **тесты**. - -* Проверьте, что тесты **падают** до PR. 🚨 - -* Затем проверьте, что тесты **проходят** после PR. ✅ - -* Многие PR не имеют тестов — Вы можете **напомнить** добавить тесты или даже **предложить** некоторые тесты сами. Это одна из самых трудозатратных частей, и здесь Вы можете очень помочь. - -* Затем добавьте комментарий, что Вы попробовали, чтобы я знал, что Вы это проверили. 🤓 - -## Создать пулл-реквест { #create-a-pull-request } - -Вы можете [сделать вклад](contributing.md) в исходный код пулл-реквестами, например: - -* Исправить опечатку, найденную в документации. -* Поделиться статьёй, видео или подкастом о FastAPI, которые Вы создали или нашли, [изменив этот файл](https://github.com/fastapi/fastapi/edit/master/docs/en/data/external_links.yml). - * Убедитесь, что добавили свою ссылку в начало соответствующего раздела. -* Помочь с [переводом документации](contributing.md#translations) на Ваш язык. - * Вы также можете проверять переводы, сделанные другими. -* Предложить новые разделы документации. -* Исправить существующую проблему/баг. - * Убедитесь, что добавили тесты. -* Добавить новую возможность. - * Убедитесь, что добавили тесты. - * Убедитесь, что добавили документацию, если это уместно. - -## Помочь поддерживать FastAPI { #help-maintain-fastapi } - -Помогите мне поддерживать **FastAPI**! 🤓 - -Предстоит ещё много работы, и, по большей части, **ВЫ** можете её сделать. - -Основные задачи, которые Вы можете выполнить прямо сейчас: - -* [Помочь другим с вопросами на GitHub](#help-others-with-questions-in-github) (смотрите секцию выше). -* [Проверять пулл-реквесты](#review-pull-requests) (смотрите секцию выше). - -Именно эти две задачи **забирают больше всего времени**. Это основная работа по поддержке FastAPI. - -Если Вы можете помочь мне с этим, **Вы помогаете поддерживать FastAPI** и делаете так, чтобы он продолжал **развиваться быстрее и лучше**. 🚀 - -## Подключиться к чату { #join-the-chat } - -Подключайтесь к 👥 [серверу чата в Discord](https://discord.gg/VQjSZaeJmf) 👥 и общайтесь с другими участниками сообщества FastAPI. - -/// tip | Подсказка - -По вопросам — задавайте их в [GitHub Discussions](https://github.com/fastapi/fastapi/discussions/new?category=questions), так гораздо выше шанс, что Вы получите помощь от [Экспертов FastAPI](fastapi-people.md#fastapi-experts). - -Используйте чат только для прочих общих бесед. +Используйте чат только для прочих общих разговоров. /// ### Не используйте чат для вопросов { #dont-use-the-chat-for-questions } -Имейте в виду, что в чатах, благодаря "свободному общению", легко задать вопросы, которые слишком общие и на которые сложнее ответить, поэтому Вы можете не получить ответы. - -На GitHub шаблон поможет Вам правильно сформулировать вопрос, чтобы Вам было легче получить хороший ответ или даже решить проблему самостоятельно ещё до того, как спросите. И на GitHub я могу следить за тем, чтобы всегда отвечать на всё, даже если это занимает время. А с чатами я не могу сделать этого лично. 😅 - -Кроме того, переписка в чатах хуже ищется, чем на GitHub, поэтому вопросы и ответы могут теряться среди остальных сообщений. И только те, что на GitHub, учитываются для получения лычки [Эксперт FastAPI](fastapi-people.md#fastapi-experts), так что вероятнее всего Вы получите больше внимания именно на GitHub. - -С другой стороны, в чатах тысячи пользователей, так что почти всегда есть шанс найти там кого-то для разговора. 😄 - -## Спонсировать автора { #sponsor-the-author } - -Если Ваш **продукт/компания** зависят от **FastAPI** или связаны с ним и Вы хотите донести до пользователей информацию о себе, Вы можете спонсировать автора (меня) через [GitHub Sponsors](https://github.com/sponsors/tiangolo). В зависимости от уровня поддержки Вы можете получить дополнительные бонусы, например, бейдж в документации. 🎁 +Имейте в виду, что в чатах, благодаря «свободному общению», в чатах легко задавать слишком общие вопросы, на которые сложнее ответить, поэтому вы можете не получить ответов. ---- +На GitHub шаблон подскажет, как сформулировать правильный вопрос, чтобы вам было проще получить хороший ответ или даже решить проблему самостоятельно ещё до того, как спросить. -Спасибо! 🚀 +Кроме того, переписки в чатах хуже ищутся, чем на GitHub, и быстро теряются. diff --git a/docs/ru/docs/python-types.md b/docs/ru/docs/python-types.md index 61219704c0..4afdad935d 100644 --- a/docs/ru/docs/python-types.md +++ b/docs/ru/docs/python-types.md @@ -172,7 +172,7 @@ def some_function(data: Any): {* ../../docs_src/python_types/tutorial006_py310.py hl[1] *} -/// info | Информация +/// note | Примечание Эти внутренние типы в квадратных скобках называются «параметрами типов». @@ -283,7 +283,7 @@ def some_function(data: Any): {* ../../docs_src/python_types/tutorial011_py310.py *} -/// info | Информация +/// note | Примечание Чтобы узнать больше о [Pydantic, ознакомьтесь с его документацией](https://docs.pydantic.dev/). @@ -341,7 +341,7 @@ def some_function(data: Any): Важно то, что, используя стандартные типы Python в одном месте (вместо добавления дополнительных классов, декораторов и т.д.), **FastAPI** сделает за вас большую часть работы. -/// info | Информация +/// note | Примечание Если вы уже прошли всё руководство и вернулись, чтобы узнать больше о типах, хорошим ресурсом будет [«шпаргалка» от `mypy`](https://mypy.readthedocs.io/en/latest/cheat_sheet_py3.html). diff --git a/docs/ru/docs/tutorial/bigger-applications.md b/docs/ru/docs/tutorial/bigger-applications.md index 972313559a..453851d341 100644 --- a/docs/ru/docs/tutorial/bigger-applications.md +++ b/docs/ru/docs/tutorial/bigger-applications.md @@ -4,7 +4,7 @@ **FastAPI** предоставляет удобный инструментарий, который позволяет нам структурировать приложение, сохраняя при этом всю необходимую гибкость. -/// info | Примечание +/// note | Примечание Если вы раньше использовали Flask, то это аналог шаблонов Flask (Flask's Blueprints). @@ -194,7 +194,7 @@ async def read_item(item_id: str): /// -/// check | Заметка +/// tip | Подсказка Параметры `prefix`, `tags`, `responses` и `dependencies` — это (как и во многих других случаях) просто возможность **FastAPI**, помогающая избежать дублирования кода. @@ -339,7 +339,7 @@ from .routers import items, users from app.routers import items, users ``` -/// info | Примечание +/// note | Примечание Первая версия — это «относительный импорт»: @@ -382,7 +382,7 @@ from .routers.users import router {* ../../docs_src/bigger_applications/app_an_py310/main.py hl[10:11] title["app/main.py"] *} -/// info | Примечание +/// note | Примечание `users.router` содержит `APIRouter` из файла `app/routers/users.py`. @@ -402,7 +402,7 @@ from .routers.users import router /// -/// check | Заметка +/// tip | Подсказка При подключении маршрутизаторов не нужно беспокоиться о производительности. @@ -451,7 +451,7 @@ from .routers.users import router и это будет работать корректно вместе со всеми другими *операциями пути*, добавленными через `app.include_router()`. -/// info | Очень технические детали +/// note | Очень технические детали **Примечание**: это очень техническая деталь, которую, вероятно, можно **просто пропустить**. diff --git a/docs/ru/docs/tutorial/header-params.md b/docs/ru/docs/tutorial/header-params.md index 5ce5cb129c..0955663e1d 100644 --- a/docs/ru/docs/tutorial/header-params.md +++ b/docs/ru/docs/tutorial/header-params.md @@ -24,7 +24,7 @@ /// -/// info | Информация +/// note | Примечание Чтобы объявить заголовки, важно использовать `Header`, иначе параметры интерпретируются как query-параметры. diff --git a/docs/ru/docs/virtual-environments.md b/docs/ru/docs/virtual-environments.md index 2addc869de..119f3645e5 100644 --- a/docs/ru/docs/virtual-environments.md +++ b/docs/ru/docs/virtual-environments.md @@ -2,7 +2,7 @@ При работе с проектами на Python рекомендуется использовать **виртуальное окружение** (или похожий механизм), чтобы изолировать пакеты, которые вы устанавливаете для каждого проекта. -/// info | Дополнительная информация +/// note | Примечание Если вы уже знакомы с виртуальными окружениями, знаете, как их создавать и использовать, вы можете пропустить этот раздел. 🤓 @@ -18,7 +18,7 @@ /// -/// info | Дополнительная информация +/// note | Примечание На этой странице вы узнаете, как пользоваться **виртуальными окружениями** и как они работают.