如果使用前后台不分离的开发方式,那么模板文件中使用的静态文件,比如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参数是项目中静态文件的目录。

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

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

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

最新文章

  1. ubuntu的vim模式
  2. 《理解 ES6》阅读整理:函数(Functions)(四)Arrow Functions
  3. B-Tree算法分析与实现
  4. 如何高效利用GitHub
  5. oracle 自定义聚合函数(MAX_O3_8HOUR_ND) 计算最大的臭氧8小时滑动平均值
  6. python 第三方库 chardet
  7. enumerateObjectsUsingBlock VS for(... in ...)
  8. 四张类图理一下Streams的用法
  9. 【洛谷1640】[SCOI2010]连续攻击游戏
  10. zabbix升级遇到连接不上数据库的问题
  11. Maven之profile实现多环境配置动态切换
  12. 数位dp 模板
  13. Leaflet API翻译
  14. WebSafeBase64Decode
  15. hibernate中调用query.list()而出现的黄色警告线
  16. MFC中的KillTimer
  17. python之函数用法setdefault()
  18. 删除Eclipse已有的SVN资源库位置
  19. iOS6下实现滑动返回
  20. linux中set、unset、export、env、declare,readonly的区别以及用法

热门文章

  1. Mac automator bash 自动操作 右键菜单unrar解压 拷贝文件路径到剪贴板 快速删除(rm -rf) 快捷键设置
  2. Redis-技术专区-让你彻底会使用“Redis中最陌生且最强大的集合”(ZSET)【前篇】
  3. Linux新加磁盘并挂载到目录
  4. 【流程】Flowable流程定义总结
  5. javascript对象——基本对象
  6. 获取office版本
  7. Javascript 判断 iframe 中的变量是否为对象
  8. CodeForce-808C Tea Party(结构体排序贪心)
  9. PHP设计模式之享元模式
  10. Apache设置禁止访问网站目录