fastapi项目 01 - 新建项目
1. 新建项目结构
首先,创建如下结构的项目的文件,在项目跟路径下,创建主程序main.py文件。
1.routers 目录开发对应模块功能的接口
2.modles.py创建数据库模型
3.database.py 创建 SQLAlchemy 连接数据库
4.static放一下静态文件
5.template是模版文件夹,前后端不分离的时候用的较多,现在都是前后端分离的项目,所以可以删掉
在app目录的__init__.py文件中,写工厂函数,如下。这里面可以挂载资源,以及注册路由。
# app/__init__.py
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from apps.routers import view_login, view_project
def create_app():
"""工厂函数"""
app = FastAPI()
# 挂载静态资源
app.mount("/static", StaticFiles(directory="./static"), name="static")
# 注册路由
app.include_router(view_login.router, prefix="/api/v1", tags=["登陆注册"])
app.include_router(view_project.router, prefix="/api/v1", tags=["项目"])
return app
注册的路由函数,我们在app文件夹中,新建router目录,用来写每个接口函数。
# app/router/view_login.py
from fastapi import APIRouter
from pydantic import BaseModel
router = APIRouter()
class UserInfo(BaseModel):
username: str
password: str
@router.post("/login")
async def login_demo():
return {"msg": "login success!"}
# app/router/view_project.py
from fastapi import APIRouter, Depends
router = APIRouter()
@router.post("/project")
async def create_project_demo():
return {"msg": "login success!"}
@router.get("/register")
async def get_all_demo():
return {"msg": "success!"}
写完接口函数,并且在工厂函数中进行了注册路由后,在main.py中,进行运行。
from apps import create_app
import uvicorn
app = create_app()
if __name__ == '__main__':
uvicorn.run(app="main:app", host='0.0.0.0', port=8080, reload=True)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理