fastapi发布web配置页面

fastapi发布web配置页面

FastAPI 是一个基于 Python 的快速 Web 开发框架,它提供了许多功能来简化 Web 开发过程。其中一个重要的功能是能够轻松地创建 API 文档页面。

在 FastAPI 中,可以使用 OpenAPI 和 Swagger 来创建 API 文档页面。下面是一个简单的示例,演示如何使用 FastAPI 创建一个带有 API 文档页面的应用程序。

1. 首先,创建一个新的 FastAPI 应用程序。在终端中输入以下命令:

pip install fastapi

2. 在一个新的 Python 文件中创建一个 FastAPI 应用程序,例如 app.py。输入以下代码:

from fastapi import FastAPI

app = FastAPI()

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

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

3. 在同一个目录中创建一个 main.css 文件,以提供自定义的 CSS 样式。这个文件是可选的,但可以为文档页面添加一些美化和自定义的样式。

  1. 运行应用程序。在终端中输入以下命令:
uvicorn app:app --host 0.0.0.0 --port 8000

5. 现在,打开浏览器并访问 http://localhost:8000/docs,应该可以看到 API 文档页面。如果没有看到页面,请确保应用程序正在运行,并且访问的 URL 是正确的。

在上述代码中,我们使用了 FastAPI 的路由装饰器 @app.get() 来定义了两个 API 端点:根路径 //items/{item_id}。然后,我们使用 OpenAPI 和 Swagger 来生成 API 文档页面。当用户访问 /docs 路径时,他们会看到一个可交互的文档页面,其中包含了我们定义的 API 端点的信息、参数和返回值。

在文档页面中,我们可以使用一些预定义的标记和属性来描述 API。例如,在路由装饰器中,我们使用了 {item_id} 来表示路径参数,并指定了它的类型为整数。此外,我们还定义了一个可选的查询参数 q,它的类型为字符串。这些信息都会自动反映在生成的文档页面中。

除了自动生成文档页面外,FastAPI 还提供了许多其他功能和工具来简化 Web 开发过程。例如,它支持自动验证请求和响应、支持异步处理、支持中间件等等。如果你需要更高级的功能和更复杂的 API,FastAPI 可以帮助你快速开发出高质量的 Web 应用。

完整的代码

from fastapi import FastAPI, Form
from fastapi.responses import HTMLResponse

app = FastAPI()

@app.get("/")
def index():
    form = """
            <!DOCTYPE html>
    <html>
    <head>
      <title>配置界面</title>
    </head>
    <body>
      <div class="container"  style="text-align:center; position:relative;">
      <h1>配置界面</h1>

      <form method="post" action="/submit2">
        <label for="name">名称:</label>
        <input type="text" id="name" name="name" placeholder="输入名称"><br><br>

        <label for="email">邮箱:</label>
        <input type="email" id="email" name="email" placeholder="输入邮箱"><br><br>

        <label for="password">密码:</label>
        <input type="password" id="password" name="password" placeholder="输入密码"><br><br>

        <label for="country" left:0>国家:</label>
        <select id="country" name="country">
          <option value="china">中国</option>
          <option value="usa">美国</option>
          <option value="uk">英国</option>
          <option value="germany">德国</option>
        </select><br><br>

        <label for="gender" left:0>性别:</label>
        <input type="radio" id="male" name="gender" value="male">
        <label for="male">男</label>
        <input type="radio" id="female" name="gender" value="female">
        <label for="female">女</label><br><br>

        <label for="interests">兴趣:</label>
        <input type="checkbox" id="sports" name="interests" value="sports">
        <label for="sports">运动</label>
        <input type="checkbox" id="music" name="interests" value="music">
        <label for="music">音乐</label>
        <input type="checkbox" id="movies" name="interests" value="movies">
        <label for="movies">电影</label><br><br>

        <input type="submit" value="保存">
      </form>
      </div> 
    </body>
    </html>
        """
    return HTMLResponse(content=form, status_code=200)


@app.post("/submit2")
def submit2(email:str =  Form(...),name: str = Form(...), password: str = Form(...),gender: str = Form(...)):
    print(email,name, password,gender)
    return {"message": "Configuration submitted successfully"}


if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

打开网页127.0.0.1:8000
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
FastAPI是一个由Python的现代高性能Web框架,特别适合构建RESTful APIWeb应用。它基于星lette和Uvicorn,提供了简单易用的API定义、自动文档生成以及类型安全等特性。以下是一些基本步骤来使用FastAPI搭建Web服务器: 1. 安装FastAPI: 首先确保你已经安装了Python和pip,然后在命令行中运行 `pip install fastapi uvicorn` 来安装FastAPI和其依赖的Uvicorn。 2. 创建项目文件结构: 创建一个新的目录,例如`my_api`,并在其中创建`main.py`和`app.py`(如果需要分模块管理)。 3. 编`main.py` (或app.py): 这里通常导入并启动FastAPI应用程序。例如,一个简单的示例是: ```python from fastapi import FastAPI # 在这里导入你的API路由和配置 from app import app as api if __name__ == "__main__": import uvicorn uvicorn.run(api, host="0.0.0.0", port=8000) ``` 4. 定义路由和处理函数: 在`app.py`中,你需要定义`API Router`,即定义HTTP方法(GET、POST、PUT等)和URL路径,以及对应的处理函数。例如: ```python from fastapi import APIRouter, Depends, HTTPException, status router = APIRouter() @router.get("/items/") async def read_items(): # 这里是返回数据的逻辑,比如查询数据库 return [{"item_id": 1, "item_name": "Example item"}] ``` 5. 文档生成: FastAPI内置了`docs`功能,可以通过`app.include_router(router, tags=["Items"])`来添加文档,并访问`http://localhost:8000/docs`查看API文档。 6. 启动服务: 运行`main.py`(或指定的`app.py`),在指定的主机和端口上(如8000)启动Web服务器。 相关问题-- 1. FastAPI与星lette和Uvicorn的关系是什么? 2. 如何在FastAPI中处理POST请求并解析请求体数据? 3. 如何在FastAPI中设置全局响应头信息? 4. FastAPI中的Depends函数是用来做什么的?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时尚IT男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值