静态文件:Static Files

官方文档地址:https://fastapi.tiangolo.com/zh/tutorial/static-files/

from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles

app = FastAPI()

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

“挂载”意味着在特定路径中添加一个完整的“独立”应用程序,然后处理所有子路径。

第一个“/static”是指此“子应用程序”将“装入”的子路径。因此,任何以“/static”开头的路径都将由它处理。
directory=“static”指的是包含静态文件的目录的名称。
name=“static”为它提供了一个可以由FastAPI在内部使用的名称。

所有这些参数都可以不同于“静态”,根据您自己应用程序的需要和具体细节进行调整。

示例代码

# -*- coding: UTF-8 -*-
from fastapi import FastAPI, Form
from starlette.requests import Request
from starlette.staticfiles import StaticFiles
from starlette.templating import Jinja2Templates

app = FastAPI()
templates = Jinja2Templates(directory="templates")
app.mount('/static', StaticFiles(directory='static'), name='static')


@app.post("/user/")
async def files(
        request: Request,
        username: str = Form(...),
        password: str = Form(...),
):
    print('username', username)
    print('password', password)
    return templates.TemplateResponse(
        'index.html',
        {
            'request': request,
            'username': username,
        }
    )


@app.get("/")
async def main(request: Request):
    return templates.TemplateResponse('signin.html', {'request': request})


if __name__ == '__main__':
    import uvicorn

    uvicorn.run(app, host="127.0.0.1", port=8000)

示例代码下载地址:https://files.cnblogs.com/files/sanduzxcvbnm/FastAPI_No.6_bootstrap_static.zip

posted @   哈喽哈喽111111  阅读(376)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2019-02-21 Highcharts教程--把js代码从html中抽离出来,放到单独的一个js文件中。由html页面调用
点击右上角即可分享
微信分享提示