相关疑难解决方法(0)

使用 StaticFiles 时如何在 FastAPI 根路径中加载与 index.html 不同的文件?

这是一个简单的静态 FastAPI 应用程序。通过此设置,即使根路径预计返回 a FileResponsecustom.html应用程序仍会返回index.html。如何让根路径工作并渲染custom.html

from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from fastapi.responses import FileResponse

app = FastAPI()


app.mount(
    "/",
    StaticFiles(directory="static", html=True),
    name="static",
)

@app.get("/")
async def index() -> FileResponse:
    return FileResponse("custom.html", media_type="html")
Run Code Online (Sandbox Code Playgroud)

python static-files starlette fastapi fileresponse

4
推荐指数
1
解决办法
3685
查看次数

RuntimeError(f"目录 '{directory}' 不存在") RuntimeError: 目录 'app/static' 不存在

当我运行 server.py 文件时出现错误

File "C:\Users\nawin\AppData\Local\Programs\Python\Python38\lib\site-packages\starlette\staticfiles.py", line 57, in __init__
    raise RuntimeError(f"Directory '{directory}' does not exist")
RuntimeError: Directory 'app/static' does not exist
Run Code Online (Sandbox Code Playgroud)

服务器.py 文件

app = Starlette()
app.add_middleware(CORSMiddleware, allow_origins=['*'], allow_headers=['X-Requested-With', 'Content-Type'])
app.mount('/static', StaticFiles(directory='app/static'))
Run Code Online (Sandbox Code Playgroud)

python 版本 3.8 操作系统 Windows 10

python

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×2

fastapi ×1

fileresponse ×1

starlette ×1

static-files ×1