Python高性能web框架-FastApi教程:(16)ORM响应页面数据

(16)ORM响应页面数据

1. 响应页面数据

  • 我们先创建个模版文件:templates/index.html
  • api/students.py新增个接口来响应
from fastapi import APIRouter
from models import *

# 导入Jinja2Templates用于模板渲染
from starlette.templating import Jinja2Templates  
# 导入Request用于处理HTTP请求
from fastapi import Request

student_api = APIRouter()
templates = Jinja2Templates(directory="templates")

@student_api.get('/index.html')
async def getAllStudent(request: Request):
    students = await Student.all()
    print(students)

    # 返回一个基于模板的响应,用于渲染index.html页面
    return templates.TemplateResponse('index.html', {'request': request, 'students': students})
  • templates/index.html我们这样写:



    
    Title


    {% for student in students %}
  • 姓名:{{ student.name }} 学号:{{ student.sno }}
  • {% endfor %}

测试看下:

不过,这个页面有点丑,我们想做个漂亮的页面。

2. 利用Bootstrap做一个漂亮的网页

  • 首先我们要导入Bootstrap,进入Bootstrap中文网
  • 引入一个比较喜欢的表格
  • 补充并修改部分index.html代码



    
    Title
    
    


学生信息

{% for student in students %} {% endfor %}
学生学号 学生姓名 学生班级
{{ student.sno }} {{ student.name }} {{ student.clas_id }}
  • 测试看下