内容目录
						
						前后端分离的场景下,用户访问的是前端服务器,后端开发的接口是给前端用的,这个要谨记。
了解一下前后端不分离的模式
@student.get("/index.html")
async def getAllStudent():
    students = await Student.all()
    return students
这里直接返回的话,返回的是json的数据,可以在接口文档中看的很清楚。
前后端不分离的话,我们需要将数据嵌入前端中,然后返回给用户。
# 需要导入jinja2
from fastapi.templating import Jinja2Templates
from fastapi import Request
@students.get('/students')
async def get_all_students(request: Request):  # 这里必须携带Request的实例
    all_students = await Student.all()
    templates = Jinja2Templates(directory=r".\chapter3\学习ORM\apis\templates")
    return templates.TemplateResponse(
        "index.html",{            # 模板文件写这里
        "request": request,
        "students": all_students  #传递的参数写这里
        }
    )
模板文件需要在合适的位置编辑好,数据插入的位置,类似这样
<html>
  <body>
    <ul>
      {% for student in students %}
          <li>姓名:{{ student.name }}, 学号:{{ student.student_number }}</li>
      {% endfor %}
    </ul>
  </body>
</html>
再尝试访问,就可以看到返回的渲染后的页面了

然后 老师讲了一下bootstrap的一些用法,看看就好。