Класс HTMLResponse
Класс HTMLResponse применяется для возврата HTML-кода
из обработчика FastAPI. Первым параметром передаётся
строка с HTML-разметкой. Вторым параметром можно указать
HTTP-статус status_code, третьим - словарь
заголовков headers. Если содержимое не передано,
ответ формируется пустым.
Синтаксис
from fastapi import FastAPI
from fastapi.responses import HTMLResponse
app = FastAPI()
@app.get('/')
def index():
return HTMLResponse(content, status_code=200, headers=None)
Пример
Давайте вернём простую HTML-страницу с адреса '/':
from fastapi import FastAPI
from fastapi.responses import HTMLResponse
app = FastAPI()
@app.get('/')
def index():
html = '<h1>Hello</h1>'
return HTMLResponse(content=html)
Результат выполнения кода:
<h1>Hello</h1>
Пример
Давайте укажем свой статус-код и заголовок X-Custom:
from fastapi import FastAPI
from fastapi.responses import HTMLResponse
app = FastAPI()
@app.get('/user')
def user():
html = '<p>user page</p>'
headers = {'X-Custom': 'abcde'}
return HTMLResponse(
content=html,
status_code=201,
headers=headers
)
Результат выполнения кода:
<p>user page</p>
Пример
Давайте используем HTMLResponse как
response_class для маршрута, чтобы
FastAPI сам обернул строку в HTML-ответ:
<+python+>
from fastapi import FastAPI
from fastapi.responses import HTMLResponse
app = FastAPI()
@app.get('/article', response_class=HTMLResponse)
def article():
return 'article '
<-python+>
Результат выполнения кода:
<article>article</article>
Смотрите также
-
класс
Response,
который является базовым классом для всех ответов -
класс
PlainTextResponse,
который возвращает ответ с типом text/plain -
класс
JSONResponse,
который возвращает ответ с типом application/json -
атрибут
media_type,
который задаёт MIME-тип содержимого ответа