吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 513|回复: 3
收起左侧

[讨论] [Python] Fastapi 关于Html的思考

[复制链接]
QwindF 发表于 2023-11-18 13:23
本帖最后由 QwindF 于 2023-11-18 13:26 编辑

1.起因:有个想法,虽然fastapi的主流是用来写api,就是主流的后端运用,传输的数据都是json或其他数据类型的格式。
在查询了一些资料之后,发现fastapi其实也可以返回Html页面,并且可以挂载静态文件目录。
在静态的html中是没有动态数据的,那是不是可以通过上述的方法将静态变为动态,实现一些可视化数据交互。

2.讨论思路:
可以试着先写个登录页面,让后点击登入,发送请求到后端进行校验,返回个token·····

3.补充Fastapi的介绍(来自其他人的blog):

FastAPI 是一个现代、快速(高性能)、基于标准 Python 类型提示的 Web 框架。它是一个用于构建 API(应用程序编程接口)的异步框架,具有许多优秀的特性,使得开发者能够更轻松地构建高性能的 Web 服务。

以下是 FastAPI 的一些主要特性和优点:

  1. 基于标准的 Python 类型提示: FastAPI 使用 Python 3.7+ 的类型提示,这样可以在编码时提供更好的 IDE 支持,帮助开发者更容易地发现和修复错误。

  2. 自动生成文档: FastAPI 自动生成交互式文档,这使得 API 更易于理解和使用。文档是基于 OpenAPI 和 JSON Schema 生成的,可以通过浏览器直接访问。

  3. 快速和高性能: FastAPI 构建在 Starlette 和 Pydantic 上,这两者都是异步(async)的库,从而使得 FastAPI 具有出色的性能。它还支持异步请求处理,能够处理大量并发请求。

  4. 依赖注入系统: FastAPI 提供了一个强大的依赖注入系统,使得开发者能够更容易地组织和测试代码。

  5. 自动验证和序列化: 使用 Pydantic 模型,FastAPI 可以自动验证请求数据和序列化响应数据,减少了手动处理输入输出的工作量。

  6. WebSocket 支持: FastAPI 不仅支持传统的 HTTP 请求,还支持 WebSocket,这使得构建实时应用程序变得更加容易。

  7. 安全性: FastAPI 集成了一些安全性功能,包括自动处理请求验证和防范常见的安全漏洞,例如 SQL 注入、跨站点脚本(XSS)等。

一个简单的 FastAPI 示例:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

@app.get("/items/{item_id}")
def read_item(item_id: int, query_param: str = None):
    return {"item_id": item_id, "query_param": query_param}

这个示例定义了两个简单的 API 路由,一个用于根路径 ("/"),另一个用于接受带有路径参数和查询参数的请求 ("/items/{item_id}")。 FastAPI 会自动生成交互式文档,使得我们可以轻松地了解和测试这些 API 端点。在生产环境的时候记得禁用文档功能!!


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

unpy 发表于 2023-11-20 14:21
什么是动态什么是静态?html里面有js它就可以动,就动态了

所以答案当然是可以的,只不过直接用它来做静态文件服务器,效率/并发能力比专业的如nginx差一大截。但用于小用户量/原型,那是肯定没问题滴
forhaoge 发表于 2023-11-28 10:52
没太理解楼主的思路,FastAPI是一种现代Python Web框架,它是要配合web服务器使用的,就算是作为api应用也要起一个uvicorn来运行,uvicorn就是一个标准的web服务器,有web服务那还不是想挂静态页面就挂静态页面,想做动态页面就上动态页面,在做开发的时候用jinjia2做页面去调试,这其实就是动态web应用了
 楼主| QwindF 发表于 2023-12-2 21:47
forhaoge 发表于 2023-11-28 10:52
没太理解楼主的思路,FastAPI是一种现代Python Web框架,它是要配合web服务器使用的,就算是作为api应用也 ...

主要是我发现fastapi好像不能挂其他文件?比如js.css等
html中内嵌css和js好像不太优雅
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-6-14 05:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表