zoukankan      html  css  js  c++  java
  • FastAPI 学习之路(三十八)Static Files

      如果使用前后台不分离的开发方式,那么模板文件中使用的静态文件,比如css/js等文件的目录需要在后台进行配置,以便模板渲染是能正确读到这些静态文件。那么我们应该如何处理呢。

        首先安装依赖

    pip install aiofiles

    我们看下如何使用

          我们去定义一个页面,展示我们对应的一张图片。

        我们看下代码如何实现

      1.创建两个目templates和static

        2.分别去放置一个文件test.png和home.html

        home.html代码如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <img src="{{ url_for('static',path='/test.png') }}" style=" 100px;height: 100px">
    
    </body>
    </html>

       3. 我们看下如何在fastapi中使用

    from fastapi.staticfiles import StaticFiles
    from fastapi.templating import Jinja2Templates
    from fastapi import FastAPI, Request
    app = FastAPI()
    
    templates = Jinja2Templates(directory="./templates")
    
    app.mount("/static", StaticFiles(directory="./static"), name="static")
    
    @app.get("/")
    def home(request: Request):
        return templates.TemplateResponse(
            "home.html",
            {
                "request": request
            }
        )

    通过mount将StaticFiles实例挂载到一个特定的路径上。其中StaticFile类中传递的directory参数是项目中静态文件的目录。

        然后我们启动下。访问下看看效果

     我们已经实现我们设计的效果,很简单。

    文章首发在公众号,欢迎关注。

  • 相关阅读:
    Mysql int类型你了解多少
    java 小程序开发PKCS7Padding 解密相关问题
    Shiro+JWT 实现权限管理(二)--JWT
    Shiro+JWT 实现权限管理(一)--Shiro
    HTTP常见状态码
    Java开发之Redis
    微信公众号开发总结(一) --程序入口
    成熟男人需要懂得的100件事
    Java8 Time API与老Date之间的转换
    极光推送工具类
  • 原文地址:https://www.cnblogs.com/leiziv5/p/15416819.html
Copyright © 2011-2022 走看看