fastapi在jinja2使用css
时间: 2023-11-11 19:05:53 浏览: 200
jimbru:轻量级的分析服务器,具有FastAPI和deta.sh Base作为数据库。 各种光荣的计数器
可以使用FastAPI和Jinja2一起创建具有CSS的网站。以下是一些步骤:
1. 首先,确保您已将所需的CSS文件放在正确的位置。例如,您可以将CSS文件放在“static/css”目录中。
2. 在FastAPI应用程序中,使用以下代码来设置Jinja2模板:
```python
from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
app = FastAPI()
templates = Jinja2Templates(directory="templates")
```
3. 创建一个Jinja2模板,并在其中引用CSS文件。例如,您可以创建一个名为“index.html”的文件,并在其中引用CSS文件:
```html
<!DOCTYPE html>
<html>
<head>
<title>FastAPI + Jinja2</title>
<link rel="stylesheet" href="{{ url_for('static', path='/css/style.css') }}">
</head>
<body>
<h1>FastAPI + Jinja2</h1>
<p>Hello, {{ name }}!</p>
</body>
</html>
```
4. 在FastAPI应用程序中,创建一个路由方法来呈现Jinja2模板。例如:
```python
@app.get("/", response_class=HTMLResponse)
async def read_item(request: Request):
return templates.TemplateResponse("index.html", {"request": request, "name": "John Doe"})
```
在此示例中,我们使用了“TemplateResponse”类来呈现Jinja2模板。我们还将“request”和“name”作为参数传递给模板。
5. 最后,在FastAPI应用程序中,使用以下代码来指定包含CSS文件的目录:
```python
app.mount("/static", StaticFiles(directory="static"), name="static")
```
在此示例中,我们使用“StaticFiles”类来指定包含CSS文件的目录。我们还将此目录挂载到FastAPI应用程序的“/static”路径上。
这样,您就可以在FastAPI应用程序中使用Jinja2模板和CSS文件来创建具有样式的网站了。
阅读全文