FastAPI 学习之路(三十八)Static Files
2024-09-08 08:03:22
如果使用前后台不分离的开发方式,那么模板文件中使用的静态文件,比如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="width: 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参数是项目中静态文件的目录。
然后我们启动下。访问下看看效果
我们已经实现我们设计的效果,很简单。
文章首发在公众号,欢迎关注。
最新文章
- ubuntu的vim模式
- 《理解 ES6》阅读整理:函数(Functions)(四)Arrow Functions
- B-Tree算法分析与实现
- 如何高效利用GitHub
- oracle 自定义聚合函数(MAX_O3_8HOUR_ND) 计算最大的臭氧8小时滑动平均值
- python 第三方库 chardet
- enumerateObjectsUsingBlock VS for(... in ...)
- 四张类图理一下Streams的用法
- 【洛谷1640】[SCOI2010]连续攻击游戏
- zabbix升级遇到连接不上数据库的问题
- Maven之profile实现多环境配置动态切换
- 数位dp 模板
- Leaflet API翻译
- WebSafeBase64Decode
- hibernate中调用query.list()而出现的黄色警告线
- MFC中的KillTimer
- python之函数用法setdefault()
- 删除Eclipse已有的SVN资源库位置
- iOS6下实现滑动返回
- linux中set、unset、export、env、declare,readonly的区别以及用法
热门文章
- Mac automator bash 自动操作 右键菜单unrar解压 拷贝文件路径到剪贴板 快速删除(rm -rf) 快捷键设置
- Redis-技术专区-让你彻底会使用“Redis中最陌生且最强大的集合”(ZSET)【前篇】
- Linux新加磁盘并挂载到目录
- 【流程】Flowable流程定义总结
- javascript对象——基本对象
- 获取office版本
- Javascript 判断 iframe 中的变量是否为对象
- CodeForce-808C Tea Party(结构体排序贪心)
- PHP设计模式之享元模式
- Apache设置禁止访问网站目录