首页 > 其他分享 >fastapi 使用package 提供web 静态资源

fastapi 使用package 提供web 静态资源

时间:2024-09-14 10:23:10浏览次数:3  
标签:__ web package StaticFiles fastapi app 静态 static

日常开发中对于静态资源的处理方法很多,但是如果静态资源也可以像包一样集成发布就会比较方便对于我们实际软件部署就会比较方便
以下是关于fastapi 通过package 提供静态资源

参考代码

  • 安装
    静态资源我们使用了bootstrap4,基于这个包提供
  • app.py
from fastapi  import FastAPI
 
from fastapi.staticfiles import StaticFiles
app = FastAPI()
# 注意此处使用了packages,参数使用了元组
app.mount("/static", StaticFiles(packages=[('bootstrap4', 'statics')]))
#  使用,
# app.mount("/static", StaticFiles(directory='statics', packages=['bootstrap4']))   此模式会有问题
# app.mount("/static", StaticFiles(packages=[('bootstrap4')])) 此模式是可以的,默认会找statics 的文件夹
if __name__ == "__main__":
    import uvicorn
    try:
        uvicorn.run(app, host="0.0.0.0", port=8000)
    except KeyboardInterrupt as e:
        print(e) 

 

from fastapi.staticfiles import StaticFiles
  • 访问

http://localhost:8000/static/css/bootstrap.css

fastapi 使用package 提供web 静态资源_css

说明

fastapi 此中模式的静态资源加载在不少开源项目中都有使用到,比如chainlit ( 将ui 直接打包到backend中了,之后基于fastapi 的StaticFiles 提供ui 能力)
后边可以详细说明下

参考资料

https://www.starlette.io/staticfiles/
https://fastapi.tiangolo.com/tutorial/static-files/

标签:__,web,package,StaticFiles,fastapi,app,静态,static
From: https://blog.51cto.com/rongfengliang/12015033

相关文章

  • trafilatura python web 数据获取库
    trafilaturapythonweb数据获取库,比较适合进行爬虫,数据提取,支持输出数据为csv,json,html,md,txt,xml包含的特性高级web爬虫以及文本发现并行处理在线以及离线输入内容灵活的配置支持,包含了元数据,格式,链接,表格多输出格式,包含了文本,markdown,json,html,xml额外扩展,支持语言检测,gui,速度优化......
  • Tomcat_使用IDEA开发javaWeb工程并部署运用
    目录1.配置文件点击fileprojectStructure   配置SDK和languagelevel的语言版本一致。apply然后ok。2.然后点击web-all创建一个moudle叫做demo02-web02。 3.这仅仅是一个java的目录结构,我们需要把他转换成javaweb的结构。所以我们需要添加web资源组件。右击demo02-......
  • package.json依赖包漏洞之tough-cookie原型污染漏洞
    背景有个安全扫描的流水线,扫描了我负责的项目之后,发现一些漏洞。需要说明的是,这个扫描只是针对package.json文件,扫的是依赖树,而不是项目源代码,也不是build打包后的代码。这些正是我们提升项目安全性的宝贵机会。让我们一起来看看这些发现,并学习如何将它们转化为我们的优势。 ......
  • 软件设计之JavaWeb(2)
    软件设计之JavaWeb(2)此篇应在MySQL之后进行学习:路线图推荐:【Java学习路线-极速版】【Java架构师技术图谱】尚硅谷全新JavaWeb教程,企业主流javaweb技术栈资料可以去尚硅谷官网免费领取此章节最好学完JDBC观看学习内容:HTTP简介Servlet1、HTTP简介交互的方式:请求......
  • WebGL系列教程七(二维及三维旋转、平移、缩放)
    目录1前言2二维2.1平移2.2旋转2.3缩放3三维3.1平移3.2旋转3.2.1绕XXX轴旋转3.2.2绕......
  • Spring webflux注解:提供全面的JPA注解应用案例(必须收藏)
    SpringWebFlux,Spring生态中的响应式Web框架,通过其独特的非阻塞I/O模型,引领了JavaWeb开发新潮流。它利用@EnableWebFlux注解激活响应式编程模式,结合@RestController和@RequestMapping注解,为开发人员提供了构建异步、事件驱动Web应用的能力。SpringWebFlux背后的ProjectReactor......
  • CSS基本布局理解——WEB开发系列38
    对CSS学习已经接近尾声,下面你可以对以下两道“小卡拉米”测试进行测试下CSS理解程度。题1:基于栅格布局的现代博客首页设计题目要求:创建一个博客首页布局,包含一个顶部导航栏、一个主要的内容区域(左侧为博客文章列表,右侧为一个侧边栏显示推荐内容),以及一个底部的页脚。要求......
  • SpringBoot:Web开发(基于SpringBoot使用MyBatis-Plus+JSP开发)
    目录前期准备构建项目(IDEA2023.1.2,JDK21,SpringBoot3.3.3)添加启动器Model准备这里我们利用MybatisX插件生成我们所需要的实体类、数据访问层以及服务层注意选择MyBatis-Plus3以及Lombok然后再在service接口中定义我们所需要的方法以及实现类(利用MyBatis-Plus省去我们......
  • 从零开始一步一步搭建 Vue3 + Webpack5 项目脚手架指南
    **......
  • Javaweb之SpringBootWeb案例本地存储的详细解析
     2.2本地存储前面我们已分析了文件上传功能前端和后端的基础代码实现,文件上传时在服务端会产生一个临时文件,请求响应完成之后,这个临时文件被自动删除,并没有进行保存。下面呢,我们就需要完成将上传的文件保存在服务器的本地磁盘上。代码实现:在服务器本地磁盘上创建images目录,用来存......