模板渲染在很多网站中都是用到的。如果您想用
FastAPI来开发网站的话,那么就可以学习本章内容。 当然了,FastAPI还是做API接口方面比较好,前端的页面模板还是交给专业的前端人员负责好点。但是FastAPI也是可以用来开发网站的。
FastAPI本身是没有自带模版渲染功能的,需要您借助于第三方的模版工具。- 借助于
jinja2来做模版渲染。
安装模块
pip install jinja2
创建模板文件的存放路径
文件main.py内容如下:
from fastapi import FastAPI
from starlette.templating import Jinja2Templates
from starlette.requests import Request
app = FastAPI()
# 设置模板存放路径
template = Jinja2Templates(directory='templates')
@app.get('/')
async def index(request: Request): # async加了就支持异步 把Request赋值给request
return template.TemplateResponse('index.html',{'request': request})
if __name__ == '__main__':
import uvicorn
uvicorn.run(app=app, host='127.0.0.1', port=8000)
在main.py同级下创建一个templates文件夹。主要用来保存模板文件。
注意:
template.TemplateResponse('index.html',{'request': request})一定要返回reqeust。
模板文件
templates/index.html文件内容如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
<b>asdfasdf</b>
</body>
</html>
运行查看效果
直接运行main.py文件即可。然后浏览器地扯栏输入: http://127.0.0.1:8000 即可看到效果。