小白终成大白
工作笔记
文章目录
- 小白终成大白
- 前言
- [0 前期准备](#0 前期准备)
- 一、建立项目
- [二、编写 FastAPI 基础代码](#二、编写 FastAPI 基础代码)
-
- 1.main.py代码
- 2.启动后端项目
- 3.查看启动后效果
-
-
- [依赖更新:后续安装新包后,记得重新执行pip freeze > requirements.txt更新依赖文件。](#依赖更新:后续安装新包后,记得重新执行pip freeze > requirements.txt更新依赖文件。)
-
前言
前端干了五年发现现在大家都在搞ai全栈了
刚好新公司给我机会成长 让我独立做一个小程序项目 前后端都自己做
然后记录一下自己的工作过程
如果你是也是刚接触python的小白可以直接抄了 问ai也是要自己摸索 参考这片文档 可以节省摸索 调教ai的时间 希望可以帮助到你
0 前期准备
请先下载好相关环境
需要用到node(建议18及以上)、git、python(需要 3.8 及以上)、hbuilder等
一、建立项目
因为是现在都是全栈了,所以搭建项目就不前后端分开建了 弄一个单仓库多模块目录结构
最终结构大概这样子 起一个你项目的名称 作为根目录
红框的是 前端项目和后端代码分别存放的位置 需要手动建立这个文件夹 或者生成前后端项目时直接起这个名字生成到此处

1.git初始化
bash
# 进入项目根目录 我一般是在项目根目录右键直接选择在终端中打开 免得还要cd过去
cd community_rental_governance
# 初始化Git 输入此命令会生成.git文件在项目根目录中
git init
# 创建.gitignore文件(核心!避免提交node_modules、venv等)
touch .gitignore
此时打开项目根目录会看到空的.gitignore文件
可将以下代码直接复制保存到.gitignore
bash
# 前端忽略
frontend/node_modules/
frontend/dist/
frontend/.env*
frontend/.uniapp/
frontend/package-lock.json
# Python忽略
backend/__pycache__/
backend/venv/
backend/.env
backend/*.pyc
backend/.pytest_cache/
# Docker忽略
.dockerignore
*.log
# 通用忽略
.DS_Store
.idea/
vscode/
2.建立前端项目
如果你不需要uniapp可以直接参考vue脚手架搭建教程
反正最终只要把前端代码保存在frontend文件中即可
我这里是使用hbuilder新建一个uniapp项目 保存位置选择项目根目录 文件名可以直接起frontend创建完成时目录结构应如下图

3.建立python的后端项目
先打开Windows 终端(推荐用 PowerShell,也可以用 CMD),执行以下命令检查 Python 版本(需要 3.8 及以上)
bash
python --version
如果Python 符合要求
请打开终端,cd切换到项目的 backend 文件夹(或者和我一样建立好backend文件夹 然后右键在终端打开 输入一下代码)
bash
# 1. 创建名为venv的虚拟环境 回车之后(没什么反应是正常的,再接着输入下一行)
python -m venv venv
# 2. 激活虚拟环境(关键!激活后终端前缀会出现(venv))
venv\Scripts\activate
结果如图
⚠️ 若激活时提示「执行策略禁止运行脚本」,先以管理员身份打开 PowerShell
接着安装 FastAPI 核心依赖
FastAPI 是python的框架
- 原生支持异步(高并发)
- 自动生成 API 文档(方便 Uniapp 对接)
- 轻量但功能全
- 原生支持 TypeScript 友好的类型校验
- 学习曲线平缓
还是在刚才输入venv什么什么的终端窗口继续
bash
# 安装基础依赖
pip install fastapi uvicorn
# 可选:安装常用扩展(后续开发会用到,提前装)
pip install pydantic sqlalchemy python-multipart python-jose[cryptography] passlib[bcrypt]
粘进去之后回车就开始下载了

还可以做的一部操作是导出依赖到 requirements.txt
把已安装的包记录下来,方便后续部署 / 协作:
bash
pip freeze > requirements.txt
Q:pip freeze > requirements.txt 可以重复使用吗?
A:可以
✅ 使用场景:
首次初始化项目:生成基础依赖清单(比如 fastapi、uvicorn);
安装新依赖后(比如pip install sqlalchemy):重新执行该命令,会覆盖原有requirements.txt,把新安装的包同步进去;
协作 / 部署前:确保requirements.txt包含项目所有依赖,其他人 / 服务器执行pip install -r requirements.txt就能一键安装相同版本的依赖。
二、编写 FastAPI 基础代码
在backend文件夹下创建main.py文件(可以直接在 VSCode / 记事本中创建),写入以下核心代码:
1.main.py代码
python
# backend/main.py
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
# 初始化FastAPI应用
app = FastAPI(
title="社区群租房治理系统API",
description="提供举报、工单、统计等接口",
version="1.0.0"
)
# 解决跨域(必须!否则前端UniApp调用会报错)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # 开发阶段允许所有来源,生产环境替换为前端实际域名
allow_credentials=True,
allow_methods=["*"], # 允许所有HTTP方法(GET/POST/PUT/DELETE等)
allow_headers=["*"], # 允许所有请求头
)
# 测试接口(验证服务是否正常)
@app.get("/api/health")
async def health_check():
return {
"status": "success",
"message": "FastAPI服务启动成功",
"project": "community_rental_governance"
}
# 本地运行入口
if __name__ == "__main__":
import uvicorn
# host=0.0.0.0 允许局域网访问,port=8000 端口可自定义
uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True)
Q : 为什么要写health_check
A :
✅ 快速验证服务可用性:启动后访问/api/health,1 秒确认「服务是否启动、端口是否占用、基础逻辑是否正常」,比看终端日志更直观;
✅ 前后端联调第一步:前端不用先写复杂业务逻辑,先调health_check接口,快速确认「网络通不通、跨域配没配、接口格式对不对」;
✅ 运维 / 部署必备:Docker/K8s / 服务器监控会定时调用health_check,如果返回异常,会自动告警 / 重启服务(比如服务崩溃时);
✅ 团队协作高效:新人接手项目,先调health_check,不用看复杂文档就能确认环境是否搭建成功。
2.启动后端项目
终端cd到后端目录 如果已经在了就下一步
bash
cd D:\project\community_rental_governance\backend
激活虚拟环境(关键!必须先做)
bash
# 执行激活命令,成功后终端前缀会出现 (venv)
venv\Scripts\activate
bash
# 在运行main.py
python main.py

注意一定要先venv\Scripts\activate激活虚拟环境 在运行main
要不就会出现上图报错 像我一样
3.查看启动后效果
启动成功后,打开浏览器访问以下地址:
接口文档(自动生成):http://127.0.0.1:8000/docs
✅ 能看到 FastAPI 的 Swagger 文档界面,可直接在网页上测试/api/health接口。

健康检查接口:http://127.0.0.1:8000/api/health
✅ 能看到返回的 JSON 数据,说明服务正常。
