FastAPI, Jinja 기초 예제
project_jinja 프로젝트 폴더를 만들고 그 안에 templates 폴더를 만듭니다.
project_jinja 프로젝트 폴더에 main.py 파일을 작성합니다.
[main.py]
from fastapi import FastAPI, Request
from fastapi.templating import Jinja2Templates
app = FastAPI()
templates = Jinja2Templates(directory="templates")
DOGS = [{"name": "금순이", "type": "골든리트리버"}, {"name": "진이", "type": "진돗개"}]
@app.get('/')
async def name(request: Request):
return templates.TemplateResponse("home.html", {"request":request, "name": "수알치", "dogs": DOGS})
templates 폴더에 home.html 파일을 작성합니다.
[home.html]
<html>
<head>
<title>Hello, Jinja</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
</head>
<body>
<br>
<p>
~~~~~~~~~~ 강아지 주인은 '{{name}}' ~~~~~~~~~~~~~~
</p>
<br>
<table class="table">
<tr>
<th>강아지 이름</th>
<th>종류</th>
</tr>
{% for dog in dogs %}
<tr>
<td> {{dog.name}} </td>
<td> {{dog.type}} </td>
</tr>
{% endfor %}
</table>
</body>
</html>
다음 명령으로 FastAPI를 실행합니다.
uvicorn main:app
웹브라우저에서 접속합니다. 127.0.0.1:8000/
[결과 화면]
반응형
'FastAPI' 카테고리의 다른 글
FastAPI 실시간 대화방 예제 (0) | 2024.12.21 |
---|---|
SQLAlchemy, 객체 값 업데이트 setattr () (0) | 2024.12.19 |
FastAPI, CRUD API 예제 (0) | 2024.12.17 |
FastAPI, 동영상 강좌 FastAPI Beyond CRUD (1) | 2024.12.15 |
FastAPI, Role-Based Access Control (사용자 역할 기반 접근 제어) (1) | 2024.12.15 |