zoukankan      html  css  js  c++  java
  • FastAPI(42)- Static Files 静态资源

    安装 aiofiles

    pip install aiofiles

      

    个人感想

    现在都是前后端分离,感觉在 FastAPI 应用程序中直接使用静态资源的可能性不大,只做了解(也不难

    使用 StaticFiles 访问静态资源

    from fastapi import FastAPI
    from fastapi.staticfiles import StaticFiles
    from fastapi.responses import HTMLResponse
    
    app = FastAPI()
    
    # 挂载
    app.mount("/static", StaticFiles(directory="static"), name="static")
    
    
    @app.get("/")
    def get_login():
        # 返回一段 HTML 代码,导入 js 文件的路径以 /static 为根路径
        html = """
            <!DOCTYPE html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <title>Title</title>
                <script src="/static/jquery.min.js"></script>
            </head>
            <body>
                12345
            </body>
            </html>
        """
        return HTMLResponse(html)

    什么是 mount

    • “挂载”意味着在特定路径中添加一个完整的“独立”应用程序,然后负责处理所有子路径
    • 这与使用 APIRouter 不同,因为挂载的应用程序是完全独立的
    • 主应用程序中的 OpenAPI 和文档不会包含来自挂载的应用程序的任何内容

    解析上面的代码

    • 第一个 /static 指的是这个“子应用程序”将被“安装”到的子路径,因此,任何以 /static 开头的路径都将由它处理
    •  directory="static"  是指包含静态文件的目录的名称,本地目录
    •  name="static"  赋予它一个可以被 FastAPI 内部使用的名称,这里暂时没用到
    • 所有这些参数都可以与 static 不同
  • 相关阅读:
    [leetcode-135-Candy]
    [leetcode-151-Reverse Words in a String]
    [leetcode-139-Word Break]
    [leetcode-129-Sum Root to Leaf Numbers]
    [leetcode-143-Reorder List]
    [leetcode-141-Linked List Cycle]
    oracle 环境变量(中文显示乱码)
    Oracle 自增长id
    Spring.net 事件的注入
    Spirng.net 替换任意方法
  • 原文地址:https://www.cnblogs.com/poloyy/p/15354774.html
Copyright © 2011-2022 走看看