- Django 4.2 + DRF + JWT + GraphQL - React 18 + MobX + styled-components - PostgreSQL 数据库 - Docker + Docker Compose + Nginx - 完整的功能模块(用户、版块、文章、服务、交互、版主管理) - 完整的文档(需求、部署、测试)
120 lines
2.2 KiB
Markdown
120 lines
2.2 KiB
Markdown
# 项目初始化指南
|
||
|
||
## 快速开始
|
||
|
||
### 1. 配置环境变量
|
||
|
||
```bash
|
||
# 复制环境变量模板
|
||
cp .env.example .env
|
||
|
||
# 编辑 .env 文件,配置以下内容:
|
||
# - DJANGO_SECRET_KEY (生成一个安全的密钥)
|
||
# - DB_NAME, DB_USER, DB_PASSWORD, DB_HOST (数据库配置)
|
||
# - ALLOWED_HOSTS (允许的域名)
|
||
```
|
||
|
||
### 2. 后端初始化
|
||
|
||
```bash
|
||
cd backend
|
||
|
||
# 创建虚拟环境
|
||
python -m venv venv
|
||
source venv/bin/activate # Windows: venv\Scripts\activate
|
||
|
||
# 安装依赖
|
||
pip install -r requirements.txt
|
||
|
||
# 配置自定义用户模型 (首次运行需要)
|
||
# 在运行迁移前,确保 apps.users.models.User 已创建
|
||
|
||
# 运行迁移
|
||
python manage.py migrate
|
||
|
||
# 创建超级用户
|
||
python manage.py createsuperuser
|
||
|
||
# 运行开发服务器
|
||
python manage.py runserver
|
||
```
|
||
|
||
后端将在 http://localhost:8000 启动
|
||
|
||
### 3. 前端初始化
|
||
|
||
```bash
|
||
cd frontend
|
||
|
||
# 安装依赖
|
||
npm install
|
||
|
||
# 配置环境变量
|
||
cp .env.example .env
|
||
# 编辑 .env,设置 REACT_APP_API_URL
|
||
|
||
# 启动开发服务器
|
||
npm start
|
||
```
|
||
|
||
前端将在 http://localhost:3000 启动
|
||
|
||
## Docker 部署
|
||
|
||
```bash
|
||
# 构建并启动所有服务
|
||
docker-compose up -d
|
||
|
||
# 查看日志
|
||
docker-compose logs -f
|
||
|
||
# 停止服务
|
||
docker-compose down
|
||
|
||
# 停止并删除卷
|
||
docker-compose down -v
|
||
```
|
||
|
||
## 数据库配置
|
||
|
||
### 使用外部 PostgreSQL
|
||
|
||
在 `.env` 中配置:
|
||
|
||
```env
|
||
DB_HOST=your-db-host
|
||
DB_PORT=5432
|
||
DB_NAME=your_database_name
|
||
DB_USER=your_database_user
|
||
DB_PASSWORD=your_database_password
|
||
```
|
||
|
||
### 使用 Docker PostgreSQL
|
||
|
||
默认配置会启动一个 PostgreSQL 容器,无需额外配置。
|
||
|
||
## 验证安装
|
||
|
||
1. 访问 http://localhost:8000/admin - Django 管理后台
|
||
2. 访问 http://localhost:8000/api/ - REST API
|
||
3. 访问 http://localhost:8000/graphql/?graphiql - GraphQL playground
|
||
4. 访问 http://localhost:3000 - React 前端
|
||
|
||
## 常见问题
|
||
|
||
### 迁移错误
|
||
如果遇到迁移错误,删除 migrations 文件并重新生成:
|
||
|
||
```bash
|
||
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
|
||
python manage.py makemigrations
|
||
python manage.py migrate
|
||
```
|
||
|
||
### 静态文件收集错误
|
||
```bash
|
||
python manage.py collectstatic --noinput
|
||
```
|
||
|
||
### 数据库连接错误
|
||
检查 `.env` 文件中的数据库配置是否正确。 |