Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1402cfd

Browse files
authored
Merge branch 'master' into update-index
2 parents4d158e2 +2db3587 commit1402cfd

File tree

6 files changed

+205
-0
lines changed

6 files changed

+205
-0
lines changed

‎docs/en/docs/release-notes.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ hide:
1313

1414
###Translations
1515

16+
* 🌐 Add Spanish translation for`docs/es/docs/advanced/security/index.md`. PR[#2278](https://github.com/tiangolo/fastapi/pull/2278) by[@Xaraxx](https://github.com/Xaraxx).
17+
* 🌐 Add Spanish translation for`docs/es/docs/advanced/response-headers.md`. PR[#2276](https://github.com/tiangolo/fastapi/pull/2276) by[@Xaraxx](https://github.com/Xaraxx).
18+
* 🌐 Add Spanish translation for`docs/es/docs/deployment/index.md` and`~/deployment/versions.md`. PR[#9669](https://github.com/tiangolo/fastapi/pull/9669) by[@pabloperezmoya](https://github.com/pabloperezmoya).
19+
* 🌐 Add Spanish translation for`docs/es/docs/benchmarks.md`. PR[#10928](https://github.com/tiangolo/fastapi/pull/10928) by[@pablocm83](https://github.com/pablocm83).
1620
* 🌐 Add Spanish translation for`docs/es/docs/advanced/response-change-status-code.md`. PR[#11100](https://github.com/tiangolo/fastapi/pull/11100) by[@alejsdev](https://github.com/alejsdev).
1721

1822
##0.109.2
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#Headers de Respuesta
2+
3+
##Usar un parámetro`Response`
4+
5+
Puedes declarar un parámetro de tipo`Response` en tu*función de operación de path* (de manera similar como se hace con las cookies).
6+
7+
Y entonces, podrás configurar las cookies en ese objeto de response*temporal*.
8+
9+
```Python hl_lines="1 7-8"
10+
{!../../../docs_src/response_headers/tutorial002.py!}
11+
```
12+
13+
Posteriormente, puedes devolver cualquier objeto que necesites, como normalmente harías (un`dict`, un modelo de base de datos, etc).
14+
15+
Si declaraste un`response_model`, este se continuará usando para filtrar y convertir el objeto que devolviste.
16+
17+
**FastAPI** usará ese response*temporal* para extraer los headers (al igual que las cookies y el status code), además las pondrá en el response final que contendrá el valor retornado y filtrado por algún`response_model`.
18+
19+
También puedes declarar el parámetro`Response` en dependencias, así como configurar los headers (y las cookies) en ellas.
20+
21+
22+
##Retornar una`Response` directamente
23+
24+
Adicionalmente, puedes añadir headers cuando se retorne una`Response` directamente.
25+
26+
Crea un response tal como se describe en[Retornar una respuesta directamente](response-directly.md){.internal-link target=_blank} y pasa los headers como un parámetro adicional:
27+
28+
```Python hl_lines="10-12"
29+
{!../../../docs_src/response_headers/tutorial001.py!}
30+
```
31+
32+
!!! note "Detalles Técnicos"
33+
También podrías utilizar`from starlette.responses import Response` o`from starlette.responses import JSONResponse`.
34+
35+
**FastAPI** proporciona las mismas `starlette.responses` en `fastapi.responses` sólo que de una manera más conveniente para ti, el desarrollador. En otras palabras, muchas de las responses disponibles provienen directamente de Starlette.
36+
37+
38+
Y como la `Response` puede ser usada frecuentemente para configurar headers y cookies, **FastAPI** también la provee en `fastapi.Response`.
39+
40+
##Headers Personalizados
41+
42+
Ten en cuenta que se pueden añadir headers propietarios personalizados <ahref="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers"class="external-link"target="_blank">usando el prefijo 'X-'</a>.
43+
44+
Si tienes headers personalizados y deseas que un cliente pueda verlos en el navegador, es necesario que los añadas a tus configuraciones de CORS (puedes leer más en[CORS (Cross-Origin Resource Sharing)](../tutorial/cors.md){.internal-link target=_blank}), usando el parámetro`expose_headers` documentado en <ahref="https://www.starlette.io/middleware/#corsmiddleware"class="external-link"target="_blank">Starlette's CORS docs</a>.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#Seguridad Avanzada
2+
3+
##Características Adicionales
4+
5+
Hay algunas características adicionales para manejar la seguridad además de las que se tratan en el[Tutorial - Guía de Usuario: Seguridad](../../tutorial/security/){.internal-link target=_blank}.
6+
7+
!!! tip
8+
Las siguientes secciones**no necesariamente son "avanzadas"**.
9+
10+
Y es posible que para tu caso de uso, la solución esté en alguna de ellas.
11+
12+
##Leer primero el Tutorial
13+
14+
En las siguientes secciones asumimos que ya has leído el principal[Tutorial - Guía de Usuario: Seguridad](../../tutorial/security/){.internal-link target=_blank}.
15+
16+
Están basadas en los mismos conceptos, pero permiten algunas funcionalidades adicionales.

‎docs/es/docs/benchmarks.md‎

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#Benchmarks
2+
3+
Los benchmarks independientes de TechEmpower muestran aplicaciones de**FastAPI** que se ejecutan en Uvicorn como <ahref="https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=query&l= zijzen-7"class="external-link"target="_blank">uno de los frameworks de Python más rápidos disponibles</a>, solo por debajo de Starlette y Uvicorn (utilizados internamente por FastAPI). (*)
4+
5+
Pero al comprobar benchmarks y comparaciones debes tener en cuenta lo siguiente.
6+
7+
##Benchmarks y velocidad
8+
9+
Cuando revisas los benchmarks, es común ver varias herramientas de diferentes tipos comparadas como equivalentes.
10+
11+
Específicamente, para ver Uvicorn, Starlette y FastAPI comparadas entre sí (entre muchas otras herramientas).
12+
13+
Cuanto más sencillo sea el problema resuelto por la herramienta, mejor rendimiento obtendrá. Y la mayoría de los benchmarks no prueban las funciones adicionales proporcionadas por la herramienta.
14+
15+
La jerarquía sería:
16+
17+
***Uvicorn**: como servidor ASGI
18+
***Starlette**: (usa Uvicorn) un microframework web
19+
***FastAPI**: (usa Starlette) un microframework API con varias características adicionales para construir APIs, con validación de datos, etc.
20+
***Uvicorn**:
21+
* Tendrá el mejor rendimiento, ya que no tiene mucho código extra aparte del propio servidor.
22+
* No escribirías una aplicación directamente en Uvicorn. Eso significaría que tu código tendría que incluir más o menos, al menos, todo el código proporcionado por Starlette (o**FastAPI**). Y si hicieras eso, tu aplicación final tendría la misma sobrecarga que si hubieras usado un framework y minimizado el código de tu aplicación y los errores.
23+
* Si estás comparando Uvicorn, compáralo con los servidores de aplicaciones Daphne, Hypercorn, uWSGI, etc.
24+
***Starlette**:
25+
* Tendrá el siguiente mejor desempeño, después de Uvicorn. De hecho, Starlette usa Uvicorn para correr. Por lo tanto, probablemente sólo pueda volverse "más lento" que Uvicorn al tener que ejecutar más código.
26+
* Pero te proporciona las herramientas para crear aplicaciones web simples, con <abbrtitle="también conocido en español como: enrutamiento">routing</abbr> basado en <abbrtitle="tambien conocido en español como: rutas">paths</abbr>, etc.
27+
* Si estás comparando Starlette, compáralo con Sanic, Flask, Django, etc. Frameworks web (o microframeworks).
28+
***FastAPI**:
29+
* De la misma manera que Starlette usa Uvicorn y no puede ser más rápido que él,**FastAPI** usa Starlette, por lo que no puede ser más rápido que él.
30+
** FastAPI ofrece más características además de las de Starlette. Funciones que casi siempre necesitas al crear una API, como validación y serialización de datos. Y al usarlo, obtienes documentación automática de forma gratuita (la documentación automática ni siquiera agrega gastos generales a las aplicaciones en ejecución, se genera al iniciar).
31+
* Si no usaras FastAPI y usaras Starlette directamente (u otra herramienta, como Sanic, Flask, Responder, etc.), tendrías que implementar toda la validación y serialización de datos tu mismo. Por lo tanto, tu aplicación final seguirá teniendo la misma sobrecarga que si se hubiera creado con FastAPI. Y en muchos casos, esta validación y serialización de datos constituye la mayor cantidad de código escrito en las aplicaciones.
32+
* Entonces, al usar FastAPI estás ahorrando tiempo de desarrollo, errores, líneas de código y probablemente obtendrías el mismo rendimiento (o mejor) que obtendrías si no lo usaras (ya que tendrías que implementarlo todo en tu código).
33+
* Si estás comparando FastAPI, compáralo con un framework de aplicaciones web (o conjunto de herramientas) que proporciona validación, serialización y documentación de datos, como Flask-apispec, NestJS, Molten, etc. Frameworks con validación, serialización y documentación automáticas integradas.

‎docs/es/docs/deployment/index.md‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#Despliegue - Introducción
2+
3+
Desplegar una aplicación hecha con**FastAPI** es relativamente fácil.
4+
5+
##¿Qué significa desplegar una aplicación?
6+
7+
**Desplegar** una aplicación significa realizar una serie de pasos para hacerla**disponible para los usuarios**.
8+
9+
Para una**API web**, normalmente implica ponerla en una**máquina remota**, con un**programa de servidor** que proporcione un buen rendimiento, estabilidad, etc, para que sus**usuarios** puedan**acceder** a la aplicación de manera eficiente y sin interrupciones o problemas.
10+
11+
Esto difiere en las fases de**desarrollo**, donde estás constantemente cambiando el código, rompiéndolo y arreglándolo, deteniendo y reiniciando el servidor de desarrollo, etc.
12+
13+
##Estrategias de despliegue
14+
15+
Existen varias formas de hacerlo dependiendo de tu caso de uso específico y las herramientas que uses.
16+
17+
Puedes**desplegar un servidor** tú mismo usando un conjunto de herramientas, puedes usar**servicios en la nube** que haga parte del trabajo por ti, o usar otras posibles opciones.
18+
19+
Te enseñaré algunos de los conceptos principales que debes tener en cuenta al desplegar aplicaciones hechas con**FastAPI** (aunque la mayoría de estos conceptos aplican para cualquier otro tipo de aplicación web).
20+
21+
Podrás ver más detalles para tener en cuenta y algunas de las técnicas para hacerlo en las próximas secciones.✨
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
#Acerca de las versiones de FastAPI
2+
3+
**FastAPI** está siendo utilizado en producción en muchas aplicaciones y sistemas. La cobertura de los tests se mantiene al 100%. Sin embargo, su desarrollo sigue siendo rápido.
4+
5+
Se agregan nuevas características frecuentemente, se corrigen errores continuamente y el código está constantemente mejorando.
6+
7+
Por eso las versiones actuales siguen siendo`0.x.x`, esto significa que cada versión puede potencialmente tener <abbrtitle="cambios que rompen funcionalidades o compatibilidad">*breaking changes*</abbr>. Las versiones siguen las convenciones de <ahref="https://semver.org/"class="external-link"target="_blank"><abbrtitle="versionado semántico">*Semantic Versioning*</abbr></a>.
8+
9+
Puedes crear aplicaciones listas para producción con**FastAPI** ahora mismo (y probablemente lo has estado haciendo por algún tiempo), solo tienes que asegurarte de usar la versión que funciona correctamente con el resto de tu código.
10+
11+
##Fijar la versión de`fastapi`
12+
13+
Lo primero que debes hacer en tu proyecto es "fijar" la última versión específica de**FastAPI** que sabes que funciona bien con tu aplicación.
14+
15+
Por ejemplo, digamos que estás usando la versión`0.45.0` en tu aplicación.
16+
17+
Si usas el archivo`requirements.txt` puedes especificar la versión con:
18+
19+
```txt
20+
fastapi==0.45.0
21+
```
22+
23+
esto significa que usarás específicamente la versión`0.45.0`.
24+
25+
También puedes fijar las versiones de esta forma:
26+
27+
```txt
28+
fastapi>=0.45.0,<0.46.0
29+
```
30+
31+
esto significa que usarás la versión`0.45.0` o superiores, pero menores a la versión`0.46.0`, por ejemplo, la versión`0.45.2` sería aceptada.
32+
33+
Si usas cualquier otra herramienta para manejar tus instalaciones, como Poetry, Pipenv, u otras, todas tienen una forma que puedes usar para definir versiones específicas para tus paquetes.
34+
35+
##Versiones disponibles
36+
37+
Puedes ver las versiones disponibles (por ejemplo, para revisar cuál es la actual) en las[Release Notes](../release-notes.md){.internal-link target=_blank}.
38+
39+
##Acerca de las versiones
40+
41+
Siguiendo las convenciones de*Semantic Versioning*, cualquier versión por debajo de`1.0.0` puede potencialmente tener <abbrtitle="cambios que rompen funcionalidades o compatibilidad">*breaking changes*</abbr>.
42+
43+
FastAPI también sigue la convención de que cualquier cambio hecho en una <abbrtitle="versiones de parche">"PATCH" version</abbr> es para solucionar errores y <abbrtitle="cambios que no rompan funcionalidades o compatibilidad">*non-breaking changes*</abbr>.
44+
45+
!!! tip
46+
El <abbrtitle="parche">"PATCH"</abbr> es el último número, por ejemplo, en`0.2.3`, la <abbrtitle="versiones de parche">PATCH version</abbr> es`3`.
47+
48+
Entonces, deberías fijar la versión así:
49+
50+
```txt
51+
fastapi>=0.45.0,<0.46.0
52+
```
53+
54+
En versiones <abbrtitle="versiones menores">"MINOR"</abbr> son añadidas nuevas características y posibles <abbrtitle="Cambios que rompen posibles funcionalidades o compatibilidad">breaking changes</abbr>.
55+
56+
!!! tip
57+
La versión "MINOR" es el número en el medio, por ejemplo, en`0.2.3`, la <abbrtitle="versión menor">"MINOR" version</abbr> es`2`.
58+
59+
##Actualizando las versiones de FastAPI
60+
61+
Para esto es recomendable primero añadir tests a tu aplicación.
62+
63+
Con**FastAPI** es muy fácil (gracias a Starlette), revisa la documentación[Testing](../tutorial/testing.md){.internal-link target=_blank}
64+
65+
Luego de tener los tests, puedes actualizar la versión de**FastAPI** a una más reciente y asegurarte de que tu código funciona correctamente ejecutando los tests.
66+
67+
Si todo funciona correctamente, o haces los cambios necesarios para que esto suceda, y todos tus tests pasan, entonces puedes fijar tu versión de`fastapi` a la más reciente.
68+
69+
##Acerca de Starlette
70+
71+
No deberías fijar la versión de`starlette`.
72+
73+
Diferentes versiones de**FastAPI** pueden usar una versión específica de Starlette.
74+
75+
Entonces, puedes dejar que**FastAPI** se asegure por sí mismo de qué versión de Starlette usar.
76+
77+
##Acerca de Pydantic
78+
79+
Pydantic incluye los tests para**FastAPI** dentro de sus propios tests, esto significa que las versiones de Pydantic (superiores a`1.0.0`) son compatibles con FastAPI.
80+
81+
Puedes fijar Pydantic a cualquier versión superior a`1.0.0` e inferior a`2.0.0` que funcione para ti.
82+
83+
Por ejemplo:
84+
85+
```txt
86+
pydantic>=1.2.0,<2.0.0
87+
```

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2026 Movatter.jp