fastapi: не выводится изображение в html-шаблоне
Пробую вывести картинку в html-шаблоне сайта, но скрипт не находит ее. В чём может быть проблема?
Код:
from fastapi import FastAPI, Request, HTTPException
from uvicorn import run
from fastapi.staticfiles import StaticFiles
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
app = FastAPI()
templates = Jinja2Templates(directory="templates")
@app.get("/", response_class=HTMLResponse)
async def root(request: Request):
try:
return templates.TemplateResponse("main.html", {"request": request})
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
if __name__ == "__main__":
run("main:app", host="localhost", port=8000, reload=True)
template:
<!DOCTYPE html>
<html>
<head>
<title>Поле ввода с начальным текстом</title>
<img src='logo.png'>
</head>
</html>
картинка в той же папке, что и html-файл (в папке templates)
Ответы (1 шт):
Автор решения: TFader
→ Ссылка
проблема была в том, что я не прописал статичный путь в основном файле. выглядит это вот так:
app.mount("/static", StaticFiles(directory="static"), name="static")
далее кидаете картинку в папку static и указываете в вашем html файле путь
static/...