当前位置: 首页 > news >正文

如何建论坛网站网上如何推广自己的产品

如何建论坛网站,网上如何推广自己的产品,做网站如何不被忽悠,西安市商标局安装Fast API:https://fastapi.tiangolo.com/zh/ FastAPI的优点: 高性能 FastAPI 基于 ASGI(异步服务器网关接口)和 Starlette 框架,支持异步编程,能够高效处理大量并发请求。其性能接近 Node.js 和 Go&am…

安装Fast API:https://fastapi.tiangolo.com/zh/

FastAPI的优点:

  1. 高性能
    FastAPI 基于 ASGI(异步服务器网关接口)和 Starlette 框架,支持异步编程,能够高效处理大量并发请求。其性能接近 Node.js 和 Go,比传统的 Python 框架(如 Django 和 Flask)快 3-5 倍,特别适合高并发场景。

  2. 自动生成 API 文档
    FastAPI 能够根据代码中的类型提示和注解自动生成交互式 API 文档(如 Swagger UI 和 ReDoc)。这不仅减少了手动编写文档的工作量,还方便了开发和调试。

  3. 类型提示与数据验证
    FastAPI 利用 Python 的类型提示机制和 Pydantic 库,提供强大的数据验证和序列化功能。这确保了输入数据的正确性,减少了运行时错误,并提高了代码的可读性和可维护性。

  4. 异步支持
    FastAPI 原生支持异步编程(async/await),能够高效处理 I/O 密集型任务(如数据库查询、API 调用),特别适合实时数据处理和高并发场景。

  5. 易于使用和学习
    FastAPI 的设计注重用户体验,代码简洁易懂,支持代码自动补全和编辑器提示,降低了学习曲线,提高了开发效率。

  6. 安全性
    FastAPI 内置支持多种安全机制,如 OAuth2、JWT 等认证方式,并提供 HTTPS 支持,确保 API 的安全性。

Pycharm中创建FastAPI项目:

先导入FastAPI,用来定义API

  • FastAPI 是一个 Python 框架,用来创建 Web API(应用程序接口)。你可以把它想象成一个工具箱,用来搭建一个可以接收请求并返回响应的服务器。

from fastapi import FastAPI

创建FastAPI实例

  • app 是整个应用的核心,它会处理所有的请求和响应。你可以把它看作一个“服务器”,它会监听用户的请求,并根据代码的逻辑返回相应的结果。

app = FastAPI()

装饰器

  • 这是一个装饰器,用来定义一个路由(route)。路由是用户访问 API 的路径。

  • @app.get("/") 表示当用户访问网站的根路径(即 /)时,会触发下面的函数。

  • / 是默认的首页路径,比如如果你的网站是 http://example.com,那么访问 http://example.com/ 就会触发这个路由。

@app.get("/")

异步函数

  • 这是一个异步函数(async 表示异步操作),名字叫 root

  • 异步操作是 FastAPI 的一个特性,它可以让程序在等待某些操作(比如数据库查询)时,同时处理其他请求,从而提高性能。

  • 这个函数的作用是处理上面定义的 / 路由的请求。

async def root():

函数的返回值

  • 这行代码是函数的返回值。

  • 它返回一个字典({"message": "Hello World"}),FastAPI 会自动将这个字典转换为 JSON 格式(一种常见的数据传输格式)。

  • 当用户访问 / 路径时,浏览器会收到一个 JSON 响应:{"message": "Hello World"}

return {"message": "Hello World"}

完整代码为:

from fastapi import FastAPI # 导⼊FastAPI,⽤于定义API
app = FastAPI() # 创建FastAPI实例
@app.get("/")
async def root():return {"message": "Hello World"}

运行应用:打开终端:输入uvicorn main:app --reload

方式一:终端输入命令启动 , main是程序的名称,app 是实例化的名称,uvicorn main:app --reload

打开浏览器中,在浏览器中输入终端给的网址,http://127.0.0.1:8000,你应该能够看到 FastAPI 自动生成的交互式文档,并在根路径 ("/") 返回的 JSON 响应。

方式二:

if __name__ == '__main__':import uvicornprint(__name__)uvicorn.run("run:app", host="127.0.0.1", port=8080, reload=True)

路径操作

union类型

⽤于⽀持多种数据类型的参数注解
from typing import Union # 导⼊Union, ⽤于定义可选类型
from fastapi import FastAPI # 导⼊FastAPI,⽤于构建RESTful API
@app.gte(/items/item_id)
def read_item(x:int,y:union[str,none]=none):print("x":x,"y":y)

FastAPI 交互式 API 文档

from fastapi import FastAPI # 引⼊FastAPI类,⽤于创建⼀个应⽤
import uvicorn # 引⼊uvicorn,⽤于启动服务
from typing import Union # 引⼊Union类,⽤于类型注解
from pydantic import BaseModel # 引⼊pydantic类,⽤于定义数据结构
app = FastAPI() # 创建⼀个应⽤,app是⼀个FastAPI实例
class Item(BaseModel): # 定义⼀个Item类,继承⾃BaseModel,⽤于定义请求体中的数据结构# 定义⼀个name属性,类型为strname: str# 定义⼀个price属性,类型为floatprice: float# 定义⼀个is_offer属性,类型为Union[bool, None],默认为Noneis_offer: Union[bool, None] = None
@app.get("/") # 装饰器,表示定义⼀个根路径的get请求
# 定义⼀个根路径的get请求,返回⼀个字典,键值分别为Hello和World
# async 表示异步请求,可以提⾼性能
# 测试访问:http://127.0.0.1:8000/
async def read_root():return {"Hello": "World"}
@app.get("/items/{item_id}")
# 定义⼀个路径参数为item_id的get请求,返回⼀个字典,键值分别为item_id和q
# Union[str, None] 表示q可以为str类型或者None类型,默认为None
# 测试访问:http://127.0.0.1:8000/items/3?q=abc
async def read_item(item_id: int, q: Union[str, None] = None):return {"item_id": item_id, "q": q}
@app.put("/items/{item_id}")
# 测试访问:http://127.0.0.1:8000/items/3
async def update_item(item_id: int, item: Item):# 定义⼀个路径参数为item_id的put请求,返回⼀个字典,键值分别为item_name和item_idreturn {"item_name": item.name, "item_id": item_id}
if __name__ == "__main__":# 启停⽅式:# 1.⽅式1指令式:# 服务器启动指令 uvicorn main:app --reload# fastDemo1:app 表示main.py⽂件中的app实例# 服务器停⽌指令 ctrl+c# 2.⽅式2界⾯式:# ⿏标右键启动----》run main.py# 界⾯右上⻆的停⽌按钮# 启动服务,host指定主机地址,port指定端⼝号,reload=True表示当代码发⽣变化时,⾃动重启服务# main:app---- 表示main.py⽂件中的app实例uvicorn.run("fastAPIDemo3:app", host="127.0.0.1", port=8000, reload=Tr
ue)
代码块作用
依赖导入引入框架、服务器、类型注解和数据验证库
应用实例化创建FastAPI核心对象
Pydantic模型定义请求体数据结构并实现自动校验
路由装饰器绑定HTTP方法与URL路径到处理函数
请求处理函数实现业务逻辑并返回响应
服务器启动配置ASGI服务器参数并启动服务
from fastapi import FastAPI          # 核心框架类
import uvicorn                       # ASGI服务器
from typing import Union             # 类型注解工具
from pydantic import BaseModel       # 数据验证库

  • FastAPI:构建API的核心类。
  • uvicorn:用于启动高性能ASGI服务器。
  • Union:定义联合类型(如Union[str, None])。
  • BaseModel:创建数据模型的基类(用于请求体校验)。
app = FastAPI()  # 创建FastAPI应用实例
  • 核心对象:所有路由和配置的载体。
  • 自动注入:后续装饰器通过@app.get等绑定路由。

4. 路由与请求处理

(1) 根路径GET请求

class Item(BaseModel):name: str                       # 必填字段,类型为字符串price: float                    # 必填字段,类型为浮点数is_offer: Union[bool, None] = None  # 可选字段,默认为None
  • 作用:定义请求体的数据结构。
  • 校验规则
    • nameprice为必填字段,类型严格校验。
    • is_offer为可选字段,接受boolNone
  • 自动文档:模型结构会显示在Swagger UI中。

(2) 带路径参数的GET请求

@app.get("/")
async def read_root():return {"Hello": "World"}
  • 路径http://localhost:8000/
  • 行为:返回固定JSON响应。
  • 异步支持async声明使函数支持异步处理。

(3) 带请求体的PUT请求

@app.put("/items/{item_id}")
async def update_item(item_id: int, item: Item):return {"item_name": item.name, "item_id": item_id}
  • 请求体校验item参数必须是符合Item模型的JSON。
  • 自动解析:FastAPI将JSON请求体转换为Item对象。
if __name__ == "__main__":uvicorn.run("fastAPIDemo3:app", host="127.0.0.1", port=8000, reload=True)
  • 模块定位fastAPIDemo3:app表示fastAPIDemo3.py文件中的app实例。
  • 参数说明
    • host:绑定到本地回环地址。
    • port:监听8000端口。
    • reload:开发模式下自动重载代码变更。
  • 启动方式
    • 直接运行脚本(python main.py)。
    • 命令行指令:uvicorn main:app --reload
http://www.fp688.cn/news/160030.html

相关文章:

  • 成品网站是什么网站关键词全国各地的排名情况
  • 南通网络公司网站竞价开户推广
  • 做外汇都要看什么网站大连百度推广公司
  • 凡科网站建站教程黑帽seo技巧
  • 网站开发公司排行网络新闻发布平台发稿
  • 微网站如何做横幅链接代发软文
  • 简单网站建设策划书范文腾讯会议价格
  • 想系统学习wordpress怎么优化网站排名
  • 太原推广型网站开发营销推广的工具有哪些
  • 做面食视频网站seo黑帽教程视频
  • 回龙观手机网站开发服务太原网站建设优化
  • 手机端公司网站怎么做个人网站免费推广
  • 新网站怎么做推广关键词搜索推广排行榜
  • 建一个营销网站多少钱seo快速排名源码
  • 欧美独立站建站百度seo优
  • wordpress 文字居中长沙seo培训
  • 游戏开发团队seo值怎么提高
  • 福州建企业网今日头条搜索优化
  • 做网站需要写代码seo经理
  • 淇县住房和城乡建设局网站seo服务顾问
  • 上海的网站公安备案查询系统百度刷排名seo软件
  • 行业b2b网站源码网站seo案例
  • 做网站需要什么内容google play官网入口
  • 专门做排行的网站高端定制网站建设
  • 自做网站百度人工客服电话是多少
  • 长春网络公司问询垚鑫科技长沙seo网站
  • 做网站需要哪些条件推广网站要注意什么
  • 学院网站设计流程沧浪seo网站优化软件
  • 名片设计图片重庆seo推广
  • 中企动力网站好么怎么建网站赚钱