HTMLResponse și RedirectResponse în FastAPI în FastAPI

responses FastAPI 0.110+ / Starlette Q&A / Distribuie cod

Randarea paginilor HTML simple și redirecționarea traficului HTTP prin codurile 301 (Permanent), 302 (Found) și 307 (Temporary).

Sintaxă
HTMLResponse(content="<h1>Salut</h1>") / RedirectResponse(url="/login")

Deși FastAPI este utilizat cu precădere pentru API-uri REST JSON, există cazuri când trebuie să returnezi pagini HTML directe (de exemplu pentru o pagină de confirmare email sau șabloane Jinja2) sau să redirecționezi utilizatorul către un alt URL:

  • HTMLResponse: Setează automat antetul Content-Type: text/html; charset=utf-8 și randează markup-ul transmis.
  • RedirectResponse(url="/cale", status_code=303): Redirecționează clientul către o altă pagină sau domeniu extern.
Exemplu: Redirecționare și returnare pagină de bun venit
from fastapi import FastAPI, status
from fastapi.responses import HTMLResponse, RedirectResponse

app = FastAPI()

@app.get("/vechiul-link")
async def redirect_old_link():
    return RedirectResponse(url="/noua-pagina", status_code=status.HTTP_301_MOVED_PERMANENTLY)

@app.get("/noua-pagina", response_class=HTMLResponse)
async def welcome_html():
    return "Bine ați venit

Pagina a fost mutată cu succes!

"

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: HTMLResponse și RedirectResponse în FastAPI

Ai o nelămurire despre utilizarea comenzii HTMLResponse și RedirectResponse în FastAPI sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.