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

陕西做网站公司有哪些淘宝竞价排名

陕西做网站公司有哪些,淘宝竞价排名,只有一个页面的网站怎么做,vps wordpress lnmp前言 近期接触了一些开源大模型应用服务,发现很多用的都是FastAPI web框架,于是乎研究了一下它的优势,印象最深有两个:一个是它的异步处理性能比较好,二是它可以类似java swagger的API交互文档,这个对应前…

前言

近期接触了一些开源大模型应用服务,发现很多用的都是FastAPI web框架,于是乎研究了一下它的优势,印象最深有两个:一个是它的异步处理性能比较好,二是它可以类似java swagger的API交互文档,这个对应前后端分离多人开发非常友好。之前总结过Vue和Flask实现前后端分离,这次同样借个小项目实践、并总结下Vue和FastAPI实现前后端分离。

FastAPI:

  • FastAPI 是一个现代化的 Web 框架,基于 Python 3.7+ 的类型提示和异步编程技术。
  • FastAPI 遵循 OpenAPI(以前称为 Swagger)标准,可以自动生成交互式 API 文档。
  • FastAPI 提供了自动数据验证、自动文档生成等强大的功能,可以显著减少开发工作量。
  • FastAPI 基于 Starlette 框架构建,支持异步请求处理,能够处理高并发和高负载的场景。

准备

项目需求及分析:

有个抓拍人脸并保存人脸截图的算法,在版本发布前想要对其效果收集主观评价。于是开发一个简单的内部在线评分工具会方便大家操作以及最后结果的汇总。照样采用vue框架,后端就尝试下FastAPI。

在开始开发前,我们先去github上看看有没有类似的开源项目,如果有现成的项目框架可以用,我们只需在上面添加或改动实现我们的业务功能即可,一定程度上可以大大缩短开发周期。

由于评分工具需要用户信息,所以需要用户登录及用户管理功能。

于是找到一个基本符合我们要求的开源项目:

GitHub - JohnDoe1996/fastAPI-vue: FastAPI-vue

开源项目源码目录如上图,前端代码在frontend/dashboard目录下,vue框架;后端代码在backend/app下,采用FastAPI。

前端

关于前端开发环境准备,可参考Vue和Flask实现前后端分离,在此不做赘述。

将开源项目的前端代码在pycharm中打开,安装依赖库,npm install,启动服务,在浏览器可以正常打开页面。(如果验证码不显示没关系,因为我们还没有启动后端服务)

至此,开发环境准备妥当,下面可进行前端代码的开发。

前端主要涉及两个页面,任务列表页面及图片展示和投票提交页面,采用ElementUI组件库。

要实现前后端通信,我们需要在前端项目中相应位置配置后端服务地址:

后端

打开pycharm,打开backend/app项目,配置venv。工程目录如下:

业务功能涉及的后端接口较简单,其实主要是对mysql数据库的CURD。但对于FastAPI,不同于Flask的是它可以定义数据模型,schemas用于定义API的输入输出数据的结构,可以提高API的稳定性、可维护性和安全性,同时提升开发效率。

首先,我们通过Pydantic库来定义数据模型,这个数据模型可以用作请求体、响应体的参数中。

from pydantic import BaseModelclass TaskDataSchema(BaseModel):name: strtype: int = 0resource_path: strremark: str = ""status: int = 0order_num: int = 0class ResourceGroupSchema(BaseModel):name: strtype: int = 0path: strremark: str = ""status: int = 0order_num: int = 0task_data_id: int

接着,在路由操作函数中,请求参数可以使用上面定义的数据模型,如ResourceDataSchema作为请求体结构。当客户端发送 POST、PUT 等请求时,FastAPI 会自动解析请求体,并将数据转换为定义的 Pydantic 模型。

from .schemas import ResourceDataSchema
from .curd.curd_resource_group import curd_resource_group
from common import deps
from ..permission.models import Usersrouter = APIRouter()@router.post("/resource/data", summary="添加资源", tags=["task"])
async def addResourceData(*,db: Session = Depends(deps.get_db),u: Users = Depends(deps.user_perm(["task:image-list:get"])),obj: ResourceDataSchema):curd_resource_data.create(db, obj_in=obj, creator_id=u['id'])return respSuccessJson()

最终效果:

生产环境部署

 采用docker-compose部署,目录结构如下:

docker-compose.yml如下:

version: '3'
services:nginx:image: privatehub.xxxx.com/nginx:v2.2volumes:- /fastAPI-vue/frontend/nginx.conf:/etc/nginx/nginx.conf- /fastAPI-vue/frontend/conf.d:/etc/nginx/conf.d- /fastAPI-vue/frontend/html:/var/www/html- /etc/localtime:/etc/localtimeports:- 8999:8080restart: alwaysbackend:build: /fastAPI-vue/backendvolumes:- $PWD/backend:/backendports:- 8099:8899restart: always

nginx是前端服务,backend是后端服务,主要指定镜像、端口映射,进行目录挂载。

FastAPI-vue/backend中的Dockerfile如下:

# 基础镜像
FROM privatehub.xxx.com/python:v1.0
# 作者
MAINTAINER xxxx
# 设置工作目录
COPY app/requirements.txt /tmp
WORKDIR /backend/app
# 安装依赖库
RUN pip install --no-cache-dir -r /tmp/requirements.txt
# 启动命令
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8899"]

执行命令启动服务:

docker-compose up -d --build

http://www.ds6.com.cn/news/119230.html

相关文章:

  • 重庆新闻奖seo服务包括哪些
  • 做网站保存什么格式最好关键词优化排名用什么软件比较好
  • 商务网站开发课程建言推广专员是做什么的
  • 如何做电商运营网站排名优化技巧
  • 我想花钱做网站成都短视频代运营
  • 北京市住房与城乡建设委员会网站百度一下首页官网
  • 白银网站建设百度怎么推广
  • 网站的付款链接怎么做淘宝运营培训课程免费
  • asp.net 微网站开发教程专业seo站长工具
  • 闲鱼网站是哪家公司做的东莞建设企业网站公司
  • 济南网站制作工作室无忧软文网
  • 微商城和小程序商城有什么区别?优化公司哪家好
  • 个人网页设计排版惠州网站seo
  • 专业做网站建设公司排名厦门人才网唯一官方网站
  • 怎么做flash网站百度工具seo
  • 网站设建设表单360竞价推广
  • 怎么把网站的标题做的炫酷免费推广网站大全集合
  • 做网站收费百度人工服务热线电话
  • 网站要精细是什么意思太仓网站制作
  • 织梦网站建设网页百度seo公司整站优化
  • 应届生招聘去哪个网站抖音引流推广一个30元
  • 好的宝安网站建设如何去除痘痘效果好
  • 动漫制作专业贵州有哪些大专院校如何优化seo
  • 潍坊百度搜索优化seo黑帽培训骗局
  • 做服装有哪些好的网站有哪些方面信息流优化师是做什么的
  • 微信小程序开发教程详解四川seo
  • 怎么利用360域名做网站seo搜索优化培训
  • 28网站开发加盟教育培训哪个好
  • 顺德网站优化公司店铺推广软文范例
  • 成都大型的做网站的公司简述网站推广的方法