Capítulo 16. Formularios y plantillas

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Vista previa

Aunque la API de FastAPI es una pista de su enfoque principal, FastAPI también puede manejar contenido web tradicional. En este capítulo se habla de los formularios HTML estándar y de las plantillas para insertar datos en HTML.

Formularios

Como has visto, FastAPI se diseñó principalmente para construir APIs, y su entrada por defecto es JSON. Pero eso no significa que no pueda servir HTML estándar de banana, formularios y amigos.

FastAPI admite datos de formularios HTML al igual que de otras fuentes como Query y Path, utilizando la dependencia Form.

Necesitarás el paquete Python-Multipart para cualquier trabajo con formularios FastAPI, así que ejecuta pip install python-multipart si lo necesitas. Además, el directorio estático del Capítulo 15 será necesario para alojar los formularios de prueba de este capítulo.

Rehagamos el Ejemplo 3-11, pero proporcionando el valor who a través de un formulario en lugar de una cadena JSON. (Llama a esta función ruta greet2() para evitar estropear la antigua función ruta greet() si todavía existe.) Añade el Ejemplo 16-1 a main.py.

Ejemplo 16-1. Obtener un valor de un formulario GET
from fastapi import FastAPI, Form

app = FastAPI()

@app.get("/who2")
def greet2(name: str = Form()):
    return f"Hello, {name}?"

La principal diferencia es que el valor procede de Formen lugar de Path ...

Get FastAPI now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.