# mars-server-fastapi **Repository Path**: mars-sys/mars-server-fastapi ## Basic Information - **Project Name**: mars-server-fastapi - **Description**: mars-server-fastapi - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-15 - **Last Updated**: 2026-04-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 1. 简介 这是一个记录了我学习 fastapi 框架的项目。 ## 1.1 创建项目 使用 uv 创建 fastapi 项目 ```shell uv init mars-server-fastapi ``` ## 1.2 创建数据库 ```sql DROP DATABASE IF EXISTS `mars_server_fastapi`; CREATE DATABASE `mars_server_fastapi` CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci; ``` ## 1.3 启动项目 ```shell uvicorn main:app --reload ``` ## 1.3 项目使用 ### 1.3.1 安装依赖 在项目的根目录,执行 `uv sync` 命令,可以安装项目所需的依赖包。 ### 1.3.2 激活虚拟环境 #### **Linux/macOS** ``` source .venv/bin/activate ``` #### **Windows (PowerShell)** ```powershell .\.venv\Scripts\activate ``` ### 1.3.3 创建 .env 文件 根据 .env.example 内容来创建,内容如下: ```text # 应用配置 APP_TITLE='Hello FastAPI' APP_VERSION='1.0.0' APP_DEBUG=True APP_HOST='127.0.0.1' APP_PORT=8080 # Token 配置 SECRET_KEY='ad133f65e5e6f20264d44a42993d7edde8315f1e5d532f8414148c413a9b5742' # generate by : openssl rand -hex 32 JWT_ALGORITHM="HS256" JWT_ACCESS_TOKEN_EXPIRE_MINUTES=30 # MySQL 配置 MYSQL_HOST='127.0.0.1' MYSQL_PORT=3306 MYSQL_USER='root' MYSQL_PASSWORD='root' MYSQL_DB='hello_fastapi' # Redis REDIS_HOST='127.0.0.1' REDIS_PORT=6379 REDIS_PASSWORD='' REDIS_DB=1 ``` ### 1.3.4 数据准备 ```bash # 初始化 aerich 配置 aerich init -t app.db.mysql.TORTOISE_ORM # 初始化数据库 aerich upgrade ``` 将 sql 目录下的 init_data.sql 数据库文件导入 hello_fastapi 数据库。 ### 1.3.5 启动项目 方式1: 运行 main.py 中的 main 函数 方式2: ```shell uvicorn main:app --reload --port 8080 ```