【问题标题】:How to connect FastAPI to frontend HTML如何将 FastAPI 连接到前端 HTML
【发布时间】:2021-05-14 06:24:06
【问题描述】:

我正在开发一个简单的 meme 发布网站项目,我从用户那里获取UserNamecaptionImage URL,并希望在网站主页上显示所有 meme。

我是一名全栈开发人员,我使用 FastAPI 作为后端并浏览了它的文档。到目前为止,我已经能够通过 Post 请求从 HTML 向服务器获取响应,但现在我想将数据存储在某个数据库中并将该数据发送回网站的主页。我尝试查找教程视频,但无法获得可以帮助我的视频。 任何形式的帮助表示赞赏。

下面是一些关于我如何执行当前请求的代码。

from fastapi import Request, status, BackgroundTasks
from fastapi.responses import JSONResponse
from tutorial import app,templates
import time
from datetime import datetime
from pydantic import BaseModel
from typing import Optional
class Record(BaseModel):
    name:str
    caption:str
    meme_type: Optional[str] = None
    img_meme:str

@app.post("/")
async def create_record(record: Record):
    background_tasks.add_task(_run_task,record)
    return record

def _run_task(name: str,caption: str,meme_type:str,img_meme: str):
    time.sleep(3)
    with open("memes.txt",mode="a") as file:
        now=datetime.now()
        content=f""" "Name":{name} \nCaption:{caption} \nURL:{img_meme} : now}\n"""
        file.write(content)

【问题讨论】:

    标签: html database backend fastapi


    【解决方案1】:

    FastAPI 文档包含您需要的所有答案。

    我想将数据存储在某个数据库中

    • SQL Databases - 你可以使用任何你想要的关系数据库。该文档包含使用 SQLAlchemy 的示例代码。
    • Async SQL Databases - 您可以使用名为 databases 的第三方包使用 async/await 连接到您的关系数据库。
    • NoSQL Databases - FastAPI 也可以与任何 NoSQL 集成。该文档包含使用 Couchbase 的示例代码。

    将该数据发送回网站的主页

    • HTMLResponse - 如果您的应用简单明了。
    • Templates - 如果您需要模板渲染。该文档包含 Jinja2 的示例代码。

    【讨论】:

    • 除此之外,FastAPI 的创建者制作了一个全栈应用程序模板,您可以从中汲取灵感,也可以从中生成自己的项目,它有点复杂,但经过充分研究和维护,如果你想要一个好的起点:github.com/tiangolo/full-stack-fastapi-postgresql
    猜你喜欢
    • 2015-07-26
    • 1970-01-01
    • 2021-09-14
    • 1970-01-01
    • 2019-02-19
    • 2022-07-28
    • 2023-01-23
    • 2021-07-09
    • 2019-11-14
    相关资源
    最近更新 更多